<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="testlog.xsl" type="text/xsl"?>
<BatchResult FileName="results.qpa">
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.info.vendor" CaseType="SelfValidate">
    <Text>lima</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">133187</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.info.renderer" CaseType="SelfValidate">
    <Text>Mali450</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1666</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.info.version" CaseType="SelfValidate">
    <Text>OpenGL ES 2.0 Mesa 22.0.0-devel (git-29d319c767)</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1542</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.info.shading_language_version" CaseType="SelfValidate">
    <Text>OpenGL ES GLSL ES 1.0.16</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1591</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.info.extensions" CaseType="SelfValidate">
    <Text>GL_EXT_blend_minmax</Text>
    <Text>GL_EXT_multi_draw_arrays</Text>
    <Text>GL_EXT_texture_format_BGRA8888</Text>
    <Text>GL_OES_compressed_ETC1_RGB8_texture</Text>
    <Text>GL_OES_depth24</Text>
    <Text>GL_OES_element_index_uint</Text>
    <Text>GL_OES_fbo_render_mipmap</Text>
    <Text>GL_OES_mapbuffer</Text>
    <Text>GL_OES_rgb8_rgba8</Text>
    <Text>GL_OES_standard_derivatives</Text>
    <Text>GL_OES_stencil8</Text>
    <Text>GL_OES_texture_3D</Text>
    <Text>GL_OES_texture_half_float</Text>
    <Text>GL_OES_texture_half_float_linear</Text>
    <Text>GL_OES_texture_npot</Text>
    <Text>GL_OES_vertex_half_float</Text>
    <Text>GL_OES_EGL_image</Text>
    <Text>GL_OES_depth_texture</Text>
    <Text>GL_OES_packed_depth_stencil</Text>
    <Text>GL_OES_get_program_binary</Text>
    <Text>GL_APPLE_texture_max_level</Text>
    <Text>GL_EXT_discard_framebuffer</Text>
    <Text>GL_EXT_read_format_bgra</Text>
    <Text>GL_EXT_frag_depth</Text>
    <Text>GL_NV_fbo_color_attachments</Text>
    <Text>GL_OES_EGL_image_external</Text>
    <Text>GL_OES_EGL_sync</Text>
    <Text>GL_OES_vertex_array_object</Text>
    <Text>GL_ANGLE_pack_reverse_row_order</Text>
    <Text>GL_EXT_occlusion_query_boolean</Text>
    <Text>GL_EXT_texture_rg</Text>
    <Text>GL_EXT_unpack_subimage</Text>
    <Text>GL_NV_draw_buffers</Text>
    <Text>GL_NV_read_buffer</Text>
    <Text>GL_NV_read_depth</Text>
    <Text>GL_NV_read_depth_stencil</Text>
    <Text>GL_NV_read_stencil</Text>
    <Text>GL_EXT_draw_buffers</Text>
    <Text>GL_EXT_map_buffer_range</Text>
    <Text>GL_KHR_debug</Text>
    <Text>GL_KHR_texture_compression_astc_ldr</Text>
    <Text>GL_NV_pixel_buffer_object</Text>
    <Text>GL_OES_required_internalformat</Text>
    <Text>GL_OES_surfaceless_context</Text>
    <Text>GL_EXT_separate_shader_objects</Text>
    <Text>GL_EXT_compressed_ETC1_RGB8_sub_texture</Text>
    <Text>GL_EXT_draw_elements_base_vertex</Text>
    <Text>GL_EXT_texture_border_clamp</Text>
    <Text>GL_KHR_context_flush_control</Text>
    <Text>GL_OES_draw_elements_base_vertex</Text>
    <Text>GL_OES_texture_border_clamp</Text>
    <Text>GL_EXT_blend_func_extended</Text>
    <Text>GL_KHR_no_error</Text>
    <Text>GL_KHR_texture_compression_astc_sliced_3d</Text>
    <Text>GL_EXT_clip_control</Text>
    <Text>GL_KHR_parallel_shader_compile</Text>
    <Text>GL_MESA_bgra</Text>
    <Text></Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2946</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.info.render_target" CaseType="SelfValidate">
    <Number Name="RedBits" Description="Red channel bits" Unit="" Tag="">8</Number>
    <Number Name="GreenBits" Description="Green channel bits" Unit="" Tag="">8</Number>
    <Number Name="BlueBits" Description="Blue channel bits" Unit="" Tag="">8</Number>
    <Number Name="AlphaBits" Description="Alpha channel bits" Unit="" Tag="">8</Number>
    <Number Name="DepthBits" Description="Depth bits" Unit="" Tag="">24</Number>
    <Number Name="StencilBits" Description="Stencil bits" Unit="" Tag="">8</Number>
    <Number Name="NumSamples" Description="Number of samples" Unit="" Tag="">0</Number>
    <Number Name="Width" Description="Width" Unit="" Tag="">256</Number>
    <Number Name="Height" Description="Height" Unit="" Tag="">256</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1919</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.prerequisite.state_reset" CaseType="SelfValidate">
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2742</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.prerequisite.clear_color" CaseType="SelfValidate">
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4445</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.prerequisite.read_pixels" CaseType="SelfValidate">
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.subpixel_bits" CaseType="SelfValidate">
    <Text>Reported: 4</Text>
    <Text>Minimum required: 4</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1721</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_texture_size" CaseType="SelfValidate">
    <Text>Reported: 4096</Text>
    <Text>Minimum required: 64</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_cube_map_texture_size" CaseType="SelfValidate">
    <Text>Reported: 4096</Text>
    <Text>Minimum required: 16</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1588</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.aliased_point_size_range" CaseType="SelfValidate">
    <Text>Reported: 1, 100</Text>
    <Text>Minimum required: 1, 1</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1733</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.aliased_line_width_range" CaseType="SelfValidate">
    <Text>Reported: 1, 100</Text>
    <Text>Minimum required: 1, 1</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.num_compressed_texture_formats" CaseType="SelfValidate">
    <Text>Reported: 29</Text>
    <Text>Minimum required: 0</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1583</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.num_shader_binary_formats" CaseType="SelfValidate">
    <Text>Reported: 0</Text>
    <Text>Minimum required: 0</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1551</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.shader_compiler" CaseType="SelfValidate">
    <Text>Reported: GL_TRUE</Text>
    <Text>Minimum required: GL_FALSE</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1565</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_vertex_attribs" CaseType="SelfValidate">
    <Text>Reported: 16</Text>
    <Text>Minimum required: 8</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_vertex_uniform_vectors" CaseType="SelfValidate">
    <Text>Reported: 296</Text>
    <Text>Minimum required: 128</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1665</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_varying_vectors" CaseType="SelfValidate">
    <Text>Reported: 8</Text>
    <Text>Minimum required: 8</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1592</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_combined_texture_image_units" CaseType="SelfValidate">
    <Text>Reported: 16</Text>
    <Text>Minimum required: 8</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1592</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_vertex_texture_image_units" CaseType="SelfValidate">
    <Text>Reported: 0</Text>
    <Text>Minimum required: 0</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1566</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_texture_image_units" CaseType="SelfValidate">
    <Text>Reported: 16</Text>
    <Text>Minimum required: 8</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1650</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_fragment_uniform_vectors" CaseType="SelfValidate">
    <Text>Reported: 2048</Text>
    <Text>Minimum required: 16</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1570</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.implementation_limits.max_renderbuffer_size" CaseType="SelfValidate">
    <Text>Reported: 4096</Text>
    <Text>Minimum required: 1</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1551</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.initial" CaseType="SelfValidate">
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1538</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.modify_get" CaseType="SelfValidate">
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1561</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.errors" CaseType="SelfValidate">
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1892</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.origin" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec2 Position;
void main() {
    gl_Position = vec4(Position, 0.0, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main() {
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">52.479999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.748</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.323</Number>
    <ImageSet Name="Result" Description="Image comparison result"/>
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">237318</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.depth_mode_zero_to_one" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute vec3 Position;
void main() {
    gl_Position = vec4(Position, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main() {
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1539999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0679999999999996</Number>
    <ImageSet Name="Result" Description="Color image comparison result"/>
    <ImageSet Name="Result" Description="Depth image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">195298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.depth_mode_one_to_one" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute vec3 Position;
void main() {
    gl_Position = vec4(Position, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main() {
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0040000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">0.77000000000000002</Number>
    <ImageSet Name="Result" Description="Color image comparison result"/>
    <ImageSet Name="Result" Description="Depth image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">119916</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.face_culling" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute  highp vec3 Position;
void main() {
    gl_Position = vec4(Position, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main() {
    gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">7.0209999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8579999999999997</Number>
    <ImageSet Name="Result" Description="Color image comparison result"/>
    <ImageSet Name="Result" Description="Color image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">148253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.clip_control.viewport_bounds" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec2 Position;
varying highp vec2 PositionOut;
void main() {
    gl_Position = vec4(Position, 0.0, 1.0);
    PositionOut = Position;
}</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec2 PositionOut;
void main() {
    if (PositionOut.x &lt; 0.0 &amp;&amp; PositionOut.y &lt; 0.0)
       gl_FragColor = vec4(0.0, 1.0, 0.0, 1.0);
    else
       gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.29</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.552</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.125999</Number>
    <ImageSet Name="Result" Description="Image comparison result"/>
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">171527</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.single_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">579791</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.single_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">579267</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.multiple_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">297975</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.multiple_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">298116</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.long_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51802</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.long_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51922</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.subclears_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">298932</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.subclears_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">298951</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.short_scissored_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">601647</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.scissored_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">310412</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.scissored_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">307438</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.masked_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">317576</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.masked_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">316112</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.masked_scissored_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">310724</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.masked_scissored_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">309762</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.complex_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">311763</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.complex_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">310420</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.long_masked_rgb" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.color_clear.long_masked_rgba" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Resulting framebuffer"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67224</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">284655</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth_scissored" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">315664</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth_scissored_masked" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">265369</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.stencil" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">246809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.stencil_masked" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">422369</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.stencil_scissored" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">288631</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.stencil_scissored_masked" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">335278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth_stencil" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">347349</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_masked" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">462741</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">434132</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.depth_stencil_clear.depth_stencil_scissored_masked" CaseType="SelfValidate">
    <ImageSet Name="Result" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">368475</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic.array_stream_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 6 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 6);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab030a6e20, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 6 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42060</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic.array_static_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 7 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 7);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab030a6e20, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 7 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8059</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic.array_dynamic_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 8 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 8);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab030a6e20, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 8 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7858</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic.element_array_stream_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 9 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 9);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab030a6e20, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 9 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7847</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic.element_array_static_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 10 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 10);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab030a6e20, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 10 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7880</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic.element_array_dynamic_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 11 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 11);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab030a6e20, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 11 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7858</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.use.vertex_array.array" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 12 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 12);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 763, 0xaaab02fcfbf0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 755"/>
    <ImageSet Name="RenderResult" Description="Bytes 751 to 762"/>
    <Text>glDeleteBuffers(1, { 12 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7201</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.use.vertex_array.element_array" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 13 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 13);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 763, 0xaaab02fcfbf0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 755"/>
    <ImageSet Name="RenderResult" Description="Bytes 751 to 762"/>
    <Text>glDeleteBuffers(1, { 13 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7162</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.use.index_array.array" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 14 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 14);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 763, 0xaaab02fcfbf0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 128"/>
    <ImageSet Name="RenderResult" Description="Bytes 129 to 257"/>
    <ImageSet Name="RenderResult" Description="Bytes 258 to 386"/>
    <ImageSet Name="RenderResult" Description="Bytes 387 to 515"/>
    <ImageSet Name="RenderResult" Description="Bytes 516 to 644"/>
    <ImageSet Name="RenderResult" Description="Bytes 645 to 762"/>
    <Text>glDeleteBuffers(1, { 14 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">99706</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.use.index_array.element_array" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 15 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 15);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 763, 0xaaab02fcfbf0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 128"/>
    <ImageSet Name="RenderResult" Description="Bytes 129 to 257"/>
    <ImageSet Name="RenderResult" Description="Bytes 258 to 386"/>
    <ImageSet Name="RenderResult" Description="Bytes 387 to 515"/>
    <ImageSet Name="RenderResult" Description="Bytes 516 to 644"/>
    <ImageSet Name="RenderResult" Description="Bytes 645 to 762"/>
    <Text>glDeleteBuffers(1, { 15 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70961</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.identical_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 16 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 16);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 996, 0xaaab030bc9d0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 995"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 16);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 996, 0xaaab030bc9d0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 995"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 16);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 996, 0xaaab030bc9d0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 995"/>
    <Text>glDeleteBuffers(1, { 16 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">16866</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.identical_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 17 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 17);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 72, 0xaaab030bd240, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 71"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 17);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 72, 0xaaab030bd240, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 71"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 17);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 72, 0xaaab030bd240, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 71"/>
    <Text>glDeleteBuffers(1, { 17 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6467</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.different_target_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 18 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 18);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 504, 0xaaab030b0730, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 503"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 18);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 504, 0xaaab030b0730, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 503"/>
    <Text>glDeleteBuffers(1, { 18 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.different_target_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 19 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 19);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 716, 0xaaab030dc810, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 707"/>
    <ImageSet Name="RenderResult" Description="Bytes 704 to 715"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 19);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 716, 0xaaab030dc810, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 707"/>
    <ImageSet Name="RenderResult" Description="Bytes 704 to 715"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 19);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 716, 0xaaab030dc810, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 707"/>
    <ImageSet Name="RenderResult" Description="Bytes 704 to 715"/>
    <Text>glDeleteBuffers(1, { 19 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">14810</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.different_usage" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 20 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 20);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1644, 0xaaab030b9570, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1643"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 20);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1644, 0xaaab030b9570, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1643"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 20);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1644, 0xaaab030b9570, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1643"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 20);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1644, 0xaaab030b9570, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1643"/>
    <Text>glDeleteBuffers(1, { 20 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.different_size" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 21 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1024, 0xaaab030b5d80, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <ImageSet Name="RenderResult" Description="Bytes 1012 to 1023"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 12, 0xaaab030b5d80, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 11"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 3327, 0xaaab030c18e0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 3323"/>
    <ImageSet Name="RenderResult" Description="Bytes 3315 to 3326"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 92, 0xaaab030c18e0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 83"/>
    <ImageSet Name="RenderResult" Description="Bytes 80 to 91"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 12379, 0xaaab030c94a0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 12371"/>
    <ImageSet Name="RenderResult" Description="Bytes 12367 to 12378"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 571, 0xaaab030c94a0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 563"/>
    <ImageSet Name="RenderResult" Description="Bytes 559 to 570"/>
    <Text>glDeleteBuffers(1, { 21 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.random_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 22 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 50369, 0xaaab030c94a0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 50363"/>
    <ImageSet Name="RenderResult" Description="Bytes 50357 to 50368"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 25957, 0xaaab030c94a0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 25955"/>
    <ImageSet Name="RenderResult" Description="Bytes 25945 to 25956"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 43563, 0xaaab030c94a0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 43559"/>
    <ImageSet Name="RenderResult" Description="Bytes 43551 to 43562"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 61848, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 61439"/>
    <ImageSet Name="RenderResult" Description="Bytes 61440 to 61847"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 8507, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 8495"/>
    <ImageSet Name="RenderResult" Description="Bytes 8495 to 8506"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 16603, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 16595"/>
    <ImageSet Name="RenderResult" Description="Bytes 16591 to 16602"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1894, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1883"/>
    <ImageSet Name="RenderResult" Description="Bytes 1882 to 1893"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 52208, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 52199"/>
    <ImageSet Name="RenderResult" Description="Bytes 52196 to 52207"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 838, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 827"/>
    <ImageSet Name="RenderResult" Description="Bytes 826 to 837"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 2336, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 2327"/>
    <ImageSet Name="RenderResult" Description="Bytes 2324 to 2335"/>
    <Text>glDeleteBuffers(1, { 22 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">918329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.random_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 23 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 65220, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 61439"/>
    <ImageSet Name="RenderResult" Description="Bytes 61440 to 65219"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 65084, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 61439"/>
    <ImageSet Name="RenderResult" Description="Bytes 61440 to 65075"/>
    <ImageSet Name="RenderResult" Description="Bytes 65072 to 65083"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 27266, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 27263"/>
    <ImageSet Name="RenderResult" Description="Bytes 27254 to 27265"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 25073, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 25067"/>
    <ImageSet Name="RenderResult" Description="Bytes 25061 to 25072"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 2442, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 2435"/>
    <ImageSet Name="RenderResult" Description="Bytes 2430 to 2441"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 28794, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 28787"/>
    <ImageSet Name="RenderResult" Description="Bytes 28782 to 28793"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 7481, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 7475"/>
    <ImageSet Name="RenderResult" Description="Bytes 7469 to 7480"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 29024, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 29015"/>
    <ImageSet Name="RenderResult" Description="Bytes 29012 to 29023"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 50822, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 50819"/>
    <ImageSet Name="RenderResult" Description="Bytes 50810 to 50821"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 59573, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 59567"/>
    <ImageSet Name="RenderResult" Description="Bytes 59561 to 59572"/>
    <Text>glDeleteBuffers(1, { 23 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1241749</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.random_3" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 24 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 49630, 0xaaab030c94a0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 49619"/>
    <ImageSet Name="RenderResult" Description="Bytes 49618 to 49629"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 23680, 0xaaab030c94a0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 23675"/>
    <ImageSet Name="RenderResult" Description="Bytes 23668 to 23679"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 53661, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 53651"/>
    <ImageSet Name="RenderResult" Description="Bytes 53649 to 53660"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 9265, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 9263"/>
    <ImageSet Name="RenderResult" Description="Bytes 9253 to 9264"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 7027, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 7019"/>
    <ImageSet Name="RenderResult" Description="Bytes 7015 to 7026"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 46475, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 46463"/>
    <ImageSet Name="RenderResult" Description="Bytes 46463 to 46474"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 30982, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 30971"/>
    <ImageSet Name="RenderResult" Description="Bytes 30970 to 30981"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 307, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 299"/>
    <ImageSet Name="RenderResult" Description="Bytes 295 to 306"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 12766, 0xaaab02fd5bc0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 12755"/>
    <ImageSet Name="RenderResult" Description="Bytes 12754 to 12765"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 43438, 0xaaab02fd5bc0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 43427"/>
    <ImageSet Name="RenderResult" Description="Bytes 43426 to 43437"/>
    <Text>glDeleteBuffers(1, { 24 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">956904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.recreate_store.random_4" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3289c);</Text>
    <Text>// buffers = { 25 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 20548, 0xaaab030c94a0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 20543"/>
    <ImageSet Name="RenderResult" Description="Bytes 20536 to 20547"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 18190, 0xaaab030c94a0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 18179"/>
    <ImageSet Name="RenderResult" Description="Bytes 18178 to 18189"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 26998, 0xaaab02fd5bc0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 26987"/>
    <ImageSet Name="RenderResult" Description="Bytes 26986 to 26997"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 56138, 0xaaab02fde9f0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 56135"/>
    <ImageSet Name="RenderResult" Description="Bytes 56126 to 56137"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 59331, 0xaaab02fec550, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 59327"/>
    <ImageSet Name="RenderResult" Description="Bytes 59319 to 59330"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 32365, 0xaaab02fec550, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 32363"/>
    <ImageSet Name="RenderResult" Description="Bytes 32353 to 32364"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 44561, 0xaaab02fec550, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 44555"/>
    <ImageSet Name="RenderResult" Description="Bytes 44549 to 44560"/>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 25320, 0xaaab02fec550, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 25319"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 27769, 0xaaab02fec550, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 27767"/>
    <ImageSet Name="RenderResult" Description="Bytes 27757 to 27768"/>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 57672, 0xaaab02fec550, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
    <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
    <ImageSet Name="RenderResult" Description="Bytes 24576 to 36863"/>
    <ImageSet Name="RenderResult" Description="Bytes 36864 to 49151"/>
    <ImageSet Name="RenderResult" Description="Bytes 49152 to 57671"/>
    <Text>glDeleteBuffers(1, { 25 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1266333</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic_subdata.array_stream_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 26 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 26);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab030b5d80, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 26 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7881</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic_subdata.array_static_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 27 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 27);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab030a81e0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 27 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7840</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic_subdata.array_dynamic_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 28 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 28);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab030a81e0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 28 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7906</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic_subdata.element_array_stream_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 29 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 29);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab030a81e0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 29 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7914</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic_subdata.element_array_static_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 30 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 30);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab030a81e0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 30 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7873</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.basic_subdata.element_array_dynamic_draw" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328cc);</Text>
    <Text>// buffers = { 31 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 31);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab030bf6b0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1019"/>
    <Text>glDeleteBuffers(1, { 31 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7867</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.whole_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 32 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 32);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 996, 0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 0, 996, 0xaaab030bc9d0);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 995"/>
    <Text>glDeleteBuffers(1, { 32 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7905</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.whole_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 33 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 33);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1728, 0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 729, 999, 0xaaab030b9849);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, 729, 0xaaab030b9570);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1727"/>
    <Text>glDeleteBuffers(1, { 33 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">10453</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.whole_3" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 34 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 34);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1944, 0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 0, 421, 0xaaab030abac0);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 1421, 523, 0xaaab030ac04d);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 421, 1000, 0xaaab030abc65);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1943"/>
    <Text>glDeleteBuffers(1, { 34 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">11511</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.whole_4" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 35 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 35);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1200, 0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, 500, 0xaaab030c59c0);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 429, 200, 0xaaab030c5b6d);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 513, 687, 0xaaab030c5bc1);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 1199"/>
    <Text>glDeleteBuffers(1, { 35 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8970</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.low_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 36 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 36);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1000, 0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, 513, 0xaaab030bc9d0);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 503"/>
    <ImageSet Name="RenderResult" Description="Bytes 501 to 512"/>
    <Text>glDeleteBuffers(1, { 36 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.low_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 37 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 37);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 996, 0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 0, 98, 0xaaab030bc9d0);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 98, 511, 0xaaab030bca32);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 599"/>
    <ImageSet Name="RenderResult" Description="Bytes 597 to 608"/>
    <Text>glDeleteBuffers(1, { 37 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7098</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.low_3" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 38 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 38);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1200, 0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 0, 591, 0xaaab030a81e0);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 371, 400, 0xaaab030a8353);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 0 to 767"/>
    <ImageSet Name="RenderResult" Description="Bytes 759 to 770"/>
    <Text>glDeleteBuffers(1, { 38 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7324</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.high_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 39 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 39);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1000, 0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 500, 500, 0xaaab030bcbc4);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 500 to 991"/>
    <ImageSet Name="RenderResult" Description="Bytes 988 to 999"/>
    <Text>glDeleteBuffers(1, { 39 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6947</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.high_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 40 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 40);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1200, 0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 600, 123, 0xaaab030a8438);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 723, 477, 0xaaab030a84b3);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 600 to 1199"/>
    <Text>glDeleteBuffers(1, { 40 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6584</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.high_3" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 41 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 41);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1200, 0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 600, 200, 0xaaab030a8438);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 601, 599, 0xaaab030a8439);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 600 to 1199"/>
    <Text>glDeleteBuffers(1, { 41 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.middle_1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 42 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 42);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 2500, 0, GL_STREAM_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1000, 799, 0xaaab030c8b68);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 1000 to 1791"/>
    <ImageSet Name="RenderResult" Description="Bytes 1787 to 1798"/>
    <Text>glDeleteBuffers(1, { 42 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.middle_2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 43 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 43);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 2500, 0, GL_STATIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 780, 220, 0xaaab030c8a8c);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1000, 500, 0xaaab030c8b68);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 780 to 1499"/>
    <Text>glDeleteBuffers(1, { 43 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6724</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.partial_specify.middle_3" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef3285c);</Text>
    <Text>// buffers = { 44 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 44);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 2500, 0, GL_DYNAMIC_DRAW);</Text>
    <Text>glGetError();</Text>
    <Text>// GL_NO_ERROR returned</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 780, 321, 0xaaab030c8a8c);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 1000, 501, 0xaaab030c8b68);</Text>
    <ImageSet Name="RenderResult" Description="Bytes 780 to 1499"/>
    <ImageSet Name="RenderResult" Description="Bytes 1489 to 1500"/>
    <Text>glDeleteBuffers(1, { 44 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7248</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.0" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 45 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 17965, 0xaaab030c94a0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4550, 1328, 0xaaab030ca666);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 17420, 12, 0xaaab030cd8ac);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3884, 3715, 0xaaab030ca3cc);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2275, 4565, 0xaaab030c9d83);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15926, 32, 0xaaab030cd2d6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 709, 12, 0xaaab030c9765);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
      <ImageSet Name="RenderResult" Description="Bytes 12288 to 17963"/>
      <ImageSet Name="RenderResult" Description="Bytes 17953 to 17964"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7355, 4229, 0xaaab030cb15b);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 12899, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5860, 389, 0xaaab030cab84);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8847, 2401, 0xaaab030cb72f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6497, 3706, 0xaaab030cae01);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6226, 2839, 0xaaab030cacf2);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6961, 618, 0xaaab030cafd1);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 5860 to 11247"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7535, 2778, 0xaaab030cb20f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4171, 102, 0xaaab030ca4eb);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2118, 991, 0xaaab030c9ce6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 10319, 300, 0xaaab030cbcef);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10067, 568, 0xaaab030cbbf3);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 542, 3669, 0xaaab030c96be);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8751, 1364, 0xaaab030cb6cf);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 542 to 4261"/>
      <ImageSet Name="RenderResult" Description="Bytes 4261 to 4272"/>
      <ImageSet Name="RenderResult" Description="Bytes 5860 to 11247"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3112, 337, 0xaaab030ca0c8);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1299, 3484, 0xaaab030c99b3);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2675, 4241, 0xaaab030c9f13);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8984, 276, 0xaaab030cb7b8);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2202, 1418, 0xaaab030c9d3a);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2289, 21, 0xaaab030c9d91);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4610, 210, 0xaaab030ca6a2);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 542 to 11245"/>
      <ImageSet Name="RenderResult" Description="Bytes 11236 to 11247"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1435, 1984, 0xaaab030c9a3b);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9948, 659, 0xaaab030cbb7c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4833, 336, 0xaaab030ca781);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 11982, 78, 0xaaab030cc36e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5771, 3668, 0xaaab030cab2b);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10609, 1420, 0xaaab030cbe11);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1434, 2946, 0xaaab030c9a3a);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 542 to 12049"/>
      <ImageSet Name="RenderResult" Description="Bytes 12048 to 12059"/>
    </Section>
    <Text>glDeleteBuffers(1, { 45 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">202283</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.1" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 46 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 11667, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 517, 12, 0xaaab030cdce5);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5251, 566, 0xaaab030cef63);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2520, 3247, 0xaaab030ce4b8);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6569, 65, 0xaaab030cf489);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5525, 1194, 0xaaab030cf075);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 906, 903, 0xaaab030cde6a);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 517 to 528"/>
      <ImageSet Name="RenderResult" Description="Bytes 906 to 1805"/>
      <ImageSet Name="RenderResult" Description="Bytes 1797 to 1808"/>
      <ImageSet Name="RenderResult" Description="Bytes 2520 to 6707"/>
      <ImageSet Name="RenderResult" Description="Bytes 6707 to 6718"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2246, 291, 0xaaab030ce3a6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7952, 863, 0xaaab030cf9f0);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4542, 12, 0xaaab030cec9e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3998, 2413, 0xaaab030cea7e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8260, 2965, 0xaaab030cfb24);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1625, 21, 0xaaab030ce139);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6161, 12, 0xaaab030cf2f1);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 517 to 528"/>
      <ImageSet Name="RenderResult" Description="Bytes 906 to 1805"/>
      <ImageSet Name="RenderResult" Description="Bytes 1797 to 1808"/>
      <ImageSet Name="RenderResult" Description="Bytes 2246 to 6709"/>
      <ImageSet Name="RenderResult" Description="Bytes 6707 to 6718"/>
      <ImageSet Name="RenderResult" Description="Bytes 7952 to 11215"/>
      <ImageSet Name="RenderResult" Description="Bytes 11213 to 11224"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6036, 126, 0xaaab030cf274);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1328, 346, 0xaaab030ce010);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 40, 3382, 0xaaab030cdb08);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4730, 2883, 0xaaab030ced5a);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 642, 567, 0xaaab030cdd62);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 427, 12, 0xaaab030cdc8b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2555, 12, 0xaaab030ce4db);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 40 to 7611"/>
      <ImageSet Name="RenderResult" Description="Bytes 7601 to 7612"/>
      <ImageSet Name="RenderResult" Description="Bytes 7952 to 11215"/>
      <ImageSet Name="RenderResult" Description="Bytes 11213 to 11224"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4617, 1734, 0xaaab030cece9);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5595, 2363, 0xaaab030cf0bb);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7199, 1388, 0xaaab030cf6ff);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7098, 3399, 0xaaab030cf69a);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 1350, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 141, 412, 0xaaab030cdb6d);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 135, 286, 0xaaab030cdb67);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 135 to 542"/>
      <ImageSet Name="RenderResult" Description="Bytes 541 to 552"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 279, 314, 0xaaab030cdbf7);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 409, 202, 0xaaab030cdc79);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 360, 145, 0xaaab030cdc48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1028, 37, 0xaaab030cdee4);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 316, 12, 0xaaab030cdc1c);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 25020, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4736, 1149, 0xaaab02fd6e40);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 4736 to 5875"/>
      <ImageSet Name="RenderResult" Description="Bytes 5873 to 5884"/>
    </Section>
    <Text>glDeleteBuffers(1, { 46 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">108961</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.2" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 47 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 9812, 0xaaab030cdae0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8062, 78, 0xaaab030cfa5e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 839, 754, 0xaaab030cde27);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9464, 228, 0xaaab030cffd8);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1539, 432, 0xaaab030ce0e3);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2290, 2791, 0xaaab030ce3d2);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 399, 1037, 0xaaab030cdc6f);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 9803"/>
      <ImageSet Name="RenderResult" Description="Bytes 9800 to 9811"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3022, 106, 0xaaab030ce6ae);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7430, 291, 0xaaab030cf7e6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6694, 2844, 0xaaab030cf506);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5161, 2424, 0xaaab030cef09);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1026, 477, 0xaaab030cdee2);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7938, 12, 0xaaab030cf9e2);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3130, 12, 0xaaab030ce71a);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 9803"/>
      <ImageSet Name="RenderResult" Description="Bytes 9800 to 9811"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5468, 245, 0xaaab030cf03c);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7550, 725, 0xaaab030cf85e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4425, 12, 0xaaab030cec29);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1195, 2029, 0xaaab030cdf8b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2293, 2493, 0xaaab030ce3d5);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3224, 18, 0xaaab030ce778);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 185, 12, 0xaaab030cdb99);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 9803"/>
      <ImageSet Name="RenderResult" Description="Bytes 9800 to 9811"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5686, 762, 0xaaab030cf116);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2195, 24, 0xaaab030ce373);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1620, 48, 0xaaab030ce134);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 31853, 0, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2012, 1246, 0xaaab02fdc56c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 5239, 0xaaab02fdbd90, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 104, 55, 0xaaab02fdbdf8);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 5231"/>
      <ImageSet Name="RenderResult" Description="Bytes 5227 to 5238"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3361, 1670, 0xaaab02fdcab1);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3542, 12, 0xaaab02fdcb66);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4275, 110, 0xaaab02fdce43);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3550, 17, 0xaaab02fdcb6e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3950, 95, 0xaaab02fdccfe);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2829, 965, 0xaaab02fdc89d);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1898, 219, 0xaaab02fdc4fa);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 5231"/>
      <ImageSet Name="RenderResult" Description="Bytes 5227 to 5238"/>
    </Section>
    <Text>glDeleteBuffers(1, { 47 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">147831</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.3" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 48 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 3562, 0xaaab030ba190, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2397, 962, 0xaaab030baaed);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 618, 1171, 0xaaab030ba3fa);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 480, 76, 0xaaab030ba370);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 849, 392, 0xaaab030ba4e1);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1706, 12, 0xaaab030ba83a);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1700, 58, 0xaaab030ba834);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 3551"/>
      <ImageSet Name="RenderResult" Description="Bytes 3550 to 3561"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2837, 529, 0xaaab030baca5);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1167, 721, 0xaaab030ba61f);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 202, 424, 0xaaab030ba25a);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2340, 1038, 0xaaab030baab4);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 1350, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 141, 412, 0xaaab030ba21d);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 135, 286, 0xaaab030ba217);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 135 to 542"/>
      <ImageSet Name="RenderResult" Description="Bytes 541 to 552"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1164, 105, 0xaaab030ba61c);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1246, 12, 0xaaab030ba66e);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 908, 12, 0xaaab030ba51c);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 31853, 0, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2012, 1246, 0xaaab030ce2bc);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 5239, 0xaaab030cdae0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 104, 55, 0xaaab030cdb48);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 5231"/>
      <ImageSet Name="RenderResult" Description="Bytes 5227 to 5238"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1113, 131, 0xaaab030cdf39);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3689, 387, 0xaaab030ce949);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5126, 12, 0xaaab030ceee6);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2460, 1083, 0xaaab030ce47c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1126, 1331, 0xaaab030cdf46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1276, 12, 0xaaab030cdfdc);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4421, 12, 0xaaab030cec25);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 5231"/>
      <ImageSet Name="RenderResult" Description="Bytes 5227 to 5238"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1694, 446, 0xaaab030ce17e);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 2651, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1478, 723, 0xaaab030ce0a6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2598, 12, 0xaaab030ce506);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1631, 12, 0xaaab030ce13f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1665, 12, 0xaaab030ce161);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 705, 12, 0xaaab030cdda1);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 705 to 716"/>
      <ImageSet Name="RenderResult" Description="Bytes 1478 to 2197"/>
      <ImageSet Name="RenderResult" Description="Bytes 2189 to 2200"/>
      <ImageSet Name="RenderResult" Description="Bytes 2598 to 2609"/>
    </Section>
    <Text>glDeleteBuffers(1, { 48 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66737</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.4" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 49 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 27479, 0xaaab02fe3a10, GL_DYNAMIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 13278, 1404, 0xaaab02fe6dee);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7750, 715, 0xaaab02fe5856);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12806, 166, 0xaaab02fe6c16);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1045, 7815, 0xaaab02fe3e25);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1849, 3024, 0xaaab02fe4149);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 588, 6276, 0xaaab02fe3c5c);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
      <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
      <ImageSet Name="RenderResult" Description="Bytes 24576 to 27467"/>
      <ImageSet Name="RenderResult" Description="Bytes 27467 to 27478"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 11788, 6393, 0xaaab02fe681c);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2167, 4118, 0xaaab02fe4287);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 14350, 2948, 0xaaab02fe721e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3062, 745, 0xaaab02fe4606);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 9867, 12, 0xaaab02fe609b);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 25020, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4736, 1149, 0xaaab02fe4c90);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 4736 to 5875"/>
      <ImageSet Name="RenderResult" Description="Bytes 5873 to 5884"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 14701, 7976, 0xaaab02fe737d);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 22097, 46, 0xaaab02fe9061);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8091, 523, 0xaaab02fe59ab);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12138, 83, 0xaaab02fe697a);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 18107, 455, 0xaaab02fe80cb);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6184, 4610, 0xaaab02fe5238);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 14742, 1047, 0xaaab02fe73a6);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 4736 to 5875"/>
      <ImageSet Name="RenderResult" Description="Bytes 5873 to 5884"/>
      <ImageSet Name="RenderResult" Description="Bytes 6184 to 10791"/>
      <ImageSet Name="RenderResult" Description="Bytes 10782 to 10793"/>
      <ImageSet Name="RenderResult" Description="Bytes 12138 to 12209"/>
      <ImageSet Name="RenderResult" Description="Bytes 12209 to 12220"/>
      <ImageSet Name="RenderResult" Description="Bytes 14701 to 22668"/>
      <ImageSet Name="RenderResult" Description="Bytes 22665 to 22676"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 801, 2132, 0xaaab02fe3d31);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 2651, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1478, 723, 0xaaab02fe3fd6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2598, 12, 0xaaab02fe4436);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1631, 12, 0xaaab02fe406f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1665, 12, 0xaaab02fe4091);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 705, 12, 0xaaab02fe3cd1);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 705 to 716"/>
      <ImageSet Name="RenderResult" Description="Bytes 1478 to 2197"/>
      <ImageSet Name="RenderResult" Description="Bytes 2189 to 2200"/>
      <ImageSet Name="RenderResult" Description="Bytes 2598 to 2609"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2370, 66, 0xaaab02fe4352);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1414, 196, 0xaaab02fe3f96);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1422, 12, 0xaaab02fe3f9e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1531, 548, 0xaaab02fe400b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1403, 674, 0xaaab02fe3f8b);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1424, 12, 0xaaab02fe3fa0);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 977, 12, 0xaaab02fe3de1);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 705 to 716"/>
      <ImageSet Name="RenderResult" Description="Bytes 977 to 988"/>
      <ImageSet Name="RenderResult" Description="Bytes 1403 to 2194"/>
      <ImageSet Name="RenderResult" Description="Bytes 2189 to 2200"/>
      <ImageSet Name="RenderResult" Description="Bytes 2370 to 2429"/>
      <ImageSet Name="RenderResult" Description="Bytes 2424 to 2435"/>
      <ImageSet Name="RenderResult" Description="Bytes 2598 to 2609"/>
    </Section>
    <Text>glDeleteBuffers(1, { 49 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">169896</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.5" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 50 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 19970, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1809, 433, 0xaaab02feac81);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 16068, 1248, 0xaaab02fee434);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7157, 2045, 0xaaab02fec165);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15842, 16, 0xaaab02fee352);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 805, 2256, 0xaaab02fea895);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1068, 5675, 0xaaab02fea99c);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 805 to 6732"/>
      <ImageSet Name="RenderResult" Description="Bytes 6731 to 6742"/>
      <ImageSet Name="RenderResult" Description="Bytes 7157 to 9196"/>
      <ImageSet Name="RenderResult" Description="Bytes 9190 to 9201"/>
      <ImageSet Name="RenderResult" Description="Bytes 15842 to 15853"/>
      <ImageSet Name="RenderResult" Description="Bytes 15846 to 15857"/>
      <ImageSet Name="RenderResult" Description="Bytes 16068 to 17315"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4212, 1403, 0xaaab02feb5e4);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10054, 60, 0xaaab02feccb6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3944, 1322, 0xaaab02feb4d8);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12374, 3936, 0xaaab02fed5c6);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5090, 5499, 0xaaab02feb952);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8239, 1290, 0xaaab02fec59f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 18142, 48, 0xaaab02feec4e);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 805 to 10584"/>
      <ImageSet Name="RenderResult" Description="Bytes 10577 to 10588"/>
      <ImageSet Name="RenderResult" Description="Bytes 12374 to 17305"/>
      <ImageSet Name="RenderResult" Description="Bytes 17304 to 17315"/>
      <ImageSet Name="RenderResult" Description="Bytes 18142 to 18189"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10092, 1580, 0xaaab02feccdc);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5430, 188, 0xaaab02febaa6);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10685, 155, 0xaaab02fecf2d);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5639, 430, 0xaaab02febb77);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 3601, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2540, 40, 0xaaab02feaf5c);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3471, 70, 0xaaab02feb2ff);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 2540 to 2575"/>
      <ImageSet Name="RenderResult" Description="Bytes 2568 to 2579"/>
      <ImageSet Name="RenderResult" Description="Bytes 3471 to 3530"/>
      <ImageSet Name="RenderResult" Description="Bytes 3529 to 3540"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2997, 17, 0xaaab02feb125);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3278, 52, 0xaaab02feb23e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 18, 14, 0xaaab02fea582);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 955, 222, 0xaaab02fea92b);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1664, 371, 0xaaab02feabf0);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1157, 190, 0xaaab02fea9f5);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 20882, 0, GL_STATIC_DRAW);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15875, 1124, 0xaaab02ff3183);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8799, 57, 0xaaab02ff15df);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5803, 2353, 0xaaab02ff0a2b);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2152, 5153, 0xaaab02fefbe8);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 10399, 12, 0xaaab02ff1c1f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 16711, 2808, 0xaaab02ff34c7);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15516, 2699, 0xaaab02ff301c);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 2152 to 8151"/>
      <ImageSet Name="RenderResult" Description="Bytes 8144 to 8155"/>
      <ImageSet Name="RenderResult" Description="Bytes 8799 to 8846"/>
      <ImageSet Name="RenderResult" Description="Bytes 8844 to 8855"/>
      <ImageSet Name="RenderResult" Description="Bytes 10399 to 10410"/>
      <ImageSet Name="RenderResult" Description="Bytes 15516 to 19511"/>
      <ImageSet Name="RenderResult" Description="Bytes 19507 to 19518"/>
    </Section>
    <Text>glDeleteBuffers(1, { 50 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">137336</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.6" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 51 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 27022, 0xaaab02ff4520, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15489, 6959, 0xaaab02ff81a1);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 24271, 37, 0xaaab02ffa3ef);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 23065, 12, 0xaaab02ff9f39);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8444, 5136, 0xaaab02ff661c);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 11924, 423, 0xaaab02ff73b4);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9089, 6411, 0xaaab02ff68a1);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
      <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
      <ImageSet Name="RenderResult" Description="Bytes 24576 to 27011"/>
      <ImageSet Name="RenderResult" Description="Bytes 27010 to 27021"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8252, 5407, 0xaaab02ff655c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 18640, 12, 0xaaab02ff8df0);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6072, 12, 0xaaab02ff5cd8);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3386, 8281, 0xaaab02ff525a);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 22194, 12, 0xaaab02ff9bd2);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3821, 1655, 0xaaab02ff540d);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 19621, 12, 0xaaab02ff91c5);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
      <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
      <ImageSet Name="RenderResult" Description="Bytes 24576 to 27011"/>
      <ImageSet Name="RenderResult" Description="Bytes 27010 to 27021"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6209, 12, 0xaaab02ff5d61);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 13657, 604, 0xaaab02ff7a79);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5454, 12, 0xaaab02ff5a6e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5956, 549, 0xaaab02ff5c64);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1153, 1744, 0xaaab02ff49a1);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10408, 1729, 0xaaab02ff6dc8);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1194, 2341, 0xaaab02ff49ca);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
      <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
      <ImageSet Name="RenderResult" Description="Bytes 24576 to 27011"/>
      <ImageSet Name="RenderResult" Description="Bytes 27010 to 27021"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1943, 9205, 0xaaab02ff4cb7);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12258, 402, 0xaaab02ff7502);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 14256, 26, 0xaaab02ff7cd0);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15913, 286, 0xaaab02ff8349);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6178, 1757, 0xaaab02ff5d42);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 12569, 63, 0xaaab02ff7639);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5323, 293, 0xaaab02ff59eb);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 0 to 12287"/>
      <ImageSet Name="RenderResult" Description="Bytes 12288 to 24575"/>
      <ImageSet Name="RenderResult" Description="Bytes 24576 to 27011"/>
      <ImageSet Name="RenderResult" Description="Bytes 27010 to 27021"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2095, 2703, 0xaaab02ff4d4f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 23365, 382, 0xaaab02ffa065);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 21923, 994, 0xaaab02ff9ac3);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 13134, 3927, 0xaaab02ff786e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6973, 155, 0xaaab02ff605d);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 4692, 0, GL_STREAM_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1691, 376, 0xaaab02ff4bbb);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 1691 to 2062"/>
      <ImageSet Name="RenderResult" Description="Bytes 2055 to 2066"/>
    </Section>
    <Text>glDeleteBuffers(1, { 51 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">380355</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.7" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 52 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 7496, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5027, 46, 0xaaab02feb913);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 79, 120, 0xaaab02fea5bf);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2365, 2456, 0xaaab02feaead);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1377, 12, 0xaaab02feaad1);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2091, 12, 0xaaab02fead9b);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5367, 87, 0xaaab02feba67);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 79 to 198"/>
      <ImageSet Name="RenderResult" Description="Bytes 1377 to 1388"/>
      <ImageSet Name="RenderResult" Description="Bytes 2091 to 2102"/>
      <ImageSet Name="RenderResult" Description="Bytes 2365 to 4812"/>
      <ImageSet Name="RenderResult" Description="Bytes 4809 to 4820"/>
      <ImageSet Name="RenderResult" Description="Bytes 5027 to 5062"/>
      <ImageSet Name="RenderResult" Description="Bytes 5061 to 5072"/>
      <ImageSet Name="RenderResult" Description="Bytes 5367 to 5450"/>
      <ImageSet Name="RenderResult" Description="Bytes 5442 to 5453"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4510, 58, 0xaaab02feb70e);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 23819, 0xaaab02ffaec0, GL_STREAM_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 16151, 1481, 0xaaab02ffedd7);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15806, 1609, 0xaaab02ffec7e);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 197, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 140, 27, 0xaaab02ffaf4c);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 177, 12, 0xaaab02ffaf71);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 140 to 163"/>
      <ImageSet Name="RenderResult" Description="Bytes 155 to 166"/>
      <ImageSet Name="RenderResult" Description="Bytes 177 to 188"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 40, 32, 0xaaab02ffaee8);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 43, 12, 0xaaab02ffaeeb);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 14, 12, 0xaaab02ffaece);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 182, 12, 0xaaab02ffaf76);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 107, 12, 0xaaab02ffaf2b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 128, 12, 0xaaab02ffaf40);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 53, 12, 0xaaab02ffaef5);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 14 to 25"/>
      <ImageSet Name="RenderResult" Description="Bytes 40 to 63"/>
      <ImageSet Name="RenderResult" Description="Bytes 60 to 71"/>
      <ImageSet Name="RenderResult" Description="Bytes 107 to 118"/>
      <ImageSet Name="RenderResult" Description="Bytes 128 to 163"/>
      <ImageSet Name="RenderResult" Description="Bytes 155 to 166"/>
      <ImageSet Name="RenderResult" Description="Bytes 177 to 188"/>
      <ImageSet Name="RenderResult" Description="Bytes 182 to 193"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 23, 21, 0xaaab02ffaed7);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 20, 28, 0xaaab02ffaed4);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 85, 22, 0xaaab02ffaf15);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 168, 12, 0xaaab02ffaf68);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 99, 53, 0xaaab02ffaf23);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 125, 35, 0xaaab02ffaf3d);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 43, 12, 0xaaab02ffaeeb);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 14 to 61"/>
      <ImageSet Name="RenderResult" Description="Bytes 60 to 71"/>
      <ImageSet Name="RenderResult" Description="Bytes 85 to 156"/>
      <ImageSet Name="RenderResult" Description="Bytes 155 to 166"/>
      <ImageSet Name="RenderResult" Description="Bytes 168 to 191"/>
      <ImageSet Name="RenderResult" Description="Bytes 182 to 193"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 117, 51, 0xaaab02ffaf35);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 63, 13, 0xaaab02ffaeff);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 128, 33, 0xaaab02ffaf40);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 95, 50, 0xaaab02ffaf1f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 161, 29, 0xaaab02ffaf61);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 12112, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7140, 1876, 0xaaab02ffcaa4);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 7140 to 9011"/>
      <ImageSet Name="RenderResult" Description="Bytes 9004 to 9015"/>
    </Section>
    <Text>glDeleteBuffers(1, { 52 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39249</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.8" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 53 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 11533, 0, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8412, 12, 0xaaab02fec64c);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8031, 802, 0xaaab02fec4cf);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2637, 12, 0xaaab02feafbd);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8030, 1193, 0xaaab02fec4ce);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5377, 3040, 0xaaab02feba71);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8940, 1090, 0xaaab02fec85c);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 2637 to 2648"/>
      <ImageSet Name="RenderResult" Description="Bytes 5377 to 10020"/>
      <ImageSet Name="RenderResult" Description="Bytes 10018 to 10029"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2810, 2436, 0xaaab02feb06a);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8058, 147, 0xaaab02fec4ea);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7905, 1411, 0xaaab02fec451);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 2955, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1282, 717, 0xaaab02feaa72);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1626, 147, 0xaaab02feabca);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2587, 246, 0xaaab02feaf8b);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 1282 to 1989"/>
      <ImageSet Name="RenderResult" Description="Bytes 1987 to 1998"/>
      <ImageSet Name="RenderResult" Description="Bytes 2587 to 2826"/>
      <ImageSet Name="RenderResult" Description="Bytes 2821 to 2832"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2735, 45, 0xaaab02feb01f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 493, 12, 0xaaab02fea75d);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2161, 739, 0xaaab02feade1);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2848, 12, 0xaaab02feb090);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1104, 839, 0xaaab02fea9c0);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 261, 610, 0xaaab02fea675);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 568, 547, 0xaaab02fea7a8);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 261 to 1988"/>
      <ImageSet Name="RenderResult" Description="Bytes 1987 to 1998"/>
      <ImageSet Name="RenderResult" Description="Bytes 2161 to 2892"/>
      <ImageSet Name="RenderResult" Description="Bytes 2888 to 2899"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1748, 677, 0xaaab02feac44);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1381, 257, 0xaaab02feaad5);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 529, 349, 0xaaab02fea781);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1623, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1176, 12, 0xaaab02feaa08);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1196, 163, 0xaaab02feaa1c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 896, 12, 0xaaab02fea8f0);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 896 to 907"/>
      <ImageSet Name="RenderResult" Description="Bytes 1176 to 1187"/>
      <ImageSet Name="RenderResult" Description="Bytes 1196 to 1351"/>
      <ImageSet Name="RenderResult" Description="Bytes 1347 to 1358"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 712, 13, 0xaaab02fea838);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 546, 103, 0xaaab02fea792);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1015, 12, 0xaaab02fea967);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1066, 12, 0xaaab02fea99a);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 286, 12, 0xaaab02fea68e);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1294, 163, 0xaaab02feaa7e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 11360, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
    </Section>
    <Text>glDeleteBuffers(1, { 53 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.buffer.write.random.9" CaseType="SelfValidate">
    <Text>glGenBuffers(1, 0x0000ffffdef328ec);</Text>
    <Text>// buffers = { 54 }</Text>
    <Section Name="Iteration1" Description="Iteration 1 / 5">
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 32728, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7741, 7684, 0xaaab03002a1d);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 24039, 87, 0xaaab030069c7);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 22228, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1014, 4609, 0xaaab03000fd6);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6578, 12, 0xaaab03002592);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5397, 2196, 0xaaab030020f5);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 1014 to 7589"/>
      <ImageSet Name="RenderResult" Description="Bytes 7581 to 7592"/>
    </Section>
    <Section Name="Iteration2" Description="Iteration 2 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 16153, 0, GL_DYNAMIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15405, 94, 0xaaab0300480d);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 12359, 0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10627, 579, 0xaaab03003563);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 52, 119, 0xaaab03000c14);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4888, 939, 0xaaab03001ef8);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5498, 4175, 0xaaab0300215a);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 52 to 159"/>
      <ImageSet Name="RenderResult" Description="Bytes 159 to 170"/>
      <ImageSet Name="RenderResult" Description="Bytes 4888 to 9663"/>
      <ImageSet Name="RenderResult" Description="Bytes 9661 to 9672"/>
      <ImageSet Name="RenderResult" Description="Bytes 10627 to 11202"/>
      <ImageSet Name="RenderResult" Description="Bytes 11194 to 11205"/>
    </Section>
    <Section Name="Iteration3" Description="Iteration 3 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7440, 12, 0xaaab030028f0);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5709, 3530, 0xaaab0300222d);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 524, 944, 0xaaab03000dec);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9593, 18, 0xaaab03003159);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4788, 1735, 0xaaab03001e94);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5663, 2491, 0xaaab030021ff);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7428, 185, 0xaaab030028e4);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 52 to 159"/>
      <ImageSet Name="RenderResult" Description="Bytes 159 to 170"/>
      <ImageSet Name="RenderResult" Description="Bytes 524 to 1459"/>
      <ImageSet Name="RenderResult" Description="Bytes 1456 to 1467"/>
      <ImageSet Name="RenderResult" Description="Bytes 4788 to 9671"/>
      <ImageSet Name="RenderResult" Description="Bytes 9661 to 9672"/>
      <ImageSet Name="RenderResult" Description="Bytes 10627 to 11202"/>
      <ImageSet Name="RenderResult" Description="Bytes 11194 to 11205"/>
    </Section>
    <Section Name="Iteration4" Description="Iteration 4 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9783, 2246, 0xaaab03003217);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4330, 1655, 0xaaab03001cca);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8535, 952, 0xaaab03002d37);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1131, 2721, 0xaaab0300104b);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3778, 2875, 0xaaab03001aa2);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5667, 494, 0xaaab03002203);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6523, 26, 0xaaab0300255b);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 52 to 159"/>
      <ImageSet Name="RenderResult" Description="Bytes 159 to 170"/>
      <ImageSet Name="RenderResult" Description="Bytes 524 to 9667"/>
      <ImageSet Name="RenderResult" Description="Bytes 9661 to 9672"/>
      <ImageSet Name="RenderResult" Description="Bytes 9783 to 12026"/>
      <ImageSet Name="RenderResult" Description="Bytes 12017 to 12028"/>
    </Section>
    <Section Name="Iteration5" Description="Iteration 5 / 5">
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6576, 271, 0xaaab03002590);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3953, 733, 0xaaab03001b51);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8835, 12, 0xaaab03002e63);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9523, 1684, 0xaaab03003113);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7238, 4235, 0xaaab03002826);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4199, 394, 0xaaab03001c47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2734, 4154, 0xaaab0300168e);</Text>
      <Text>glGetError();</Text>
      <Text>// GL_NO_ERROR returned</Text>
      <ImageSet Name="RenderResult" Description="Bytes 52 to 159"/>
      <ImageSet Name="RenderResult" Description="Bytes 159 to 170"/>
      <ImageSet Name="RenderResult" Description="Bytes 524 to 12019"/>
      <ImageSet Name="RenderResult" Description="Bytes 12017 to 12028"/>
    </Section>
    <Text>glDeleteBuffers(1, { 54 });</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">164046</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.none" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

void main()
{
	v_color = vec3(0.0);
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8380000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.118</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20600</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.1dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[1 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 1; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(1+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.1609999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.740998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31149</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.2dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[2 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 2; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(2+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9880000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.320999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33503</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.4dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[4 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(4+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">13.06</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.695999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45083</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.6dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[6 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 6; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(6+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9530000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.57</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40931</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.8dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[8 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 8; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(8+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.976</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.355998999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47804</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.10dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[10 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 10; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(10+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">10.106999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">42.915999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56581</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.12dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[12 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 12; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(12+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">11.125</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.080002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61823</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.14dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[14 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 14; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(14+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9669999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">51.272998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60970</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.16dir" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[16 + 0];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 16; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 0; i++)
		color += computeOmniLight(16+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.0339999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">56.383999000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66234</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.1omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 1];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 1; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">10.689</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.058001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42195</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.2omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 2];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 2; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.0439999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.757998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44193</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.4omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 4];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 4; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.0309999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.153998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56595</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.6omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 6];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 6; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9660000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">58.317000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67951</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.8omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 8];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 8; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.8410000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">72.774001999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82338</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.10omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 10];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 10; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9790000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">85.449996999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">95307</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.12omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 12];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 12; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9109999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">98.594002000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">108479</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.14omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 14];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 14; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9800000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">113.66799899999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">123727</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.light_amount.16omni" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
	vec3	position;
	vec3	diffuse;
	vec3	specular;
	vec3	attenuation;
};
uniform Light u_lights[0 + 16];
uniform mat4 u_modelviewMatrix;
uniform mat4 u_modelviewProjectionMatrix;
uniform mat3 u_normalMatrix;

attribute vec4 a_position;
attribute vec3 a_normal;

varying vec3 v_color;

float computeAttenuation(vec3 dirToLight, vec3 attenuation)
{
	float dist = length(dirToLight);
	return 1.0 / (attenuation.x + attenuation.y*dist + attenuation.z*dist*dist);
}

vec3 computeDirLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	float cosAngle = dot(light.position, normal);
	return cosAngle * light.diffuse;
}

vec3 computeOmniLight(int ndx, vec3 position, vec3 normal)
{
	Light light = u_lights[ndx];
	vec3 dirToLight = light.position - position;
	float cosAngle = dot(normalize(dirToLight), normal);
	float atten = computeAttenuation(dirToLight, light.attenuation);
	return atten * cosAngle * light.diffuse;
}

void main()
{
	vec3 lightSpacePos = vec3(u_modelviewMatrix * a_position);
	vec3 lightNormal = normalize(u_normalMatrix * a_normal);
	vec3 color = vec3(0.0);
	for (int i = 0; i &lt; 0; i++)
		color += computeDirLight(i, lightSpacePos, lightNormal);
	for (int i = 0; i &lt; 16; i++)
		color += computeOmniLight(0+i, lightSpacePos, lightNormal);
	v_color = color;
	gl_Position = u_modelviewProjectionMatrix * a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying highp vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.9699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">126.449997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">136831</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#define e +1
void main()
{
	mediump int n = 1e;
}
</ShaderSource>
        <InfoLog>0:4(19): error: syntax error, unexpected NEW_IDENTIFIER, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.42799999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2669999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5565</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.correct_phases_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#define e +1
void main()
{
	mediump int n = 1e;
}
</ShaderSource>
        <InfoLog>0:4(19): error: syntax error, unexpected NEW_IDENTIFIER, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.621</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.33100000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4304</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_identifier_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#define e +1

void main()
{
	mediump int 1xyz = 1;
}
</ShaderSource>
        <InfoLog>0:5(14): error: syntax error, unexpected INTCONSTANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.56599999999999995</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2674</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_identifier_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#define e +1

void main()
{
	mediump int 1xyz = 1;
}
</ShaderSource>
        <InfoLog>0:5(14): error: syntax error, unexpected INTCONSTANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.48499999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.null_directive_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;


#
# // comment
/*sfd*/		# /* */

void main()
{
	out0 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.234</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1190000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.881001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48010</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.null_directive_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;


#
# // comment
/*sfd*/		# /* */

void main()
{
	out0 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1560000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3460000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29535</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_directive_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#defin AAA

void main()
{
}
</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: Illegal non-directive after #
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.51100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2719</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.invalid_directive_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#defin AAA

void main()
{
}
</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: Illegal non-directive after #
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29099999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2453</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.missing_identifier_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#define

void main()
{
}
</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: #define without macro name
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.34000000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.missing_identifier_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#define

void main()
{
}
</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: #define without macro name
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28699999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.empty_object_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;


# define VALUE

void main()
{
	out0 = VALUE - 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.949999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34158</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.empty_object_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;


# define VALUE

void main()
{
	out0 = VALUE - 1.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1829999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.69</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24561</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.empty_function_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;


# define VALUE(a)

void main()
{
	out0 = VALUE(2.0) - 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5870000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.801</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27518</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.empty_function_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;


# define VALUE(a)

void main()
{
	out0 = VALUE(2.0) - 1.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.254</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.753</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.empty_directive_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;


#

void main()
{
	out0 = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4420000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.438000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32458</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.basic.empty_directive_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;


#

void main()
{
	out0 = 1.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1480000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.890000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26106</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.define_value_and_function_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position; varying float out0; 
#	define		VALUE			(1.5 + 2.5)
#	define		FUNCTION(__LINE__, b)	__LINE__+b

void main()
{
	out0 = FUNCTION(VALUE, ((0.2) + 1.8) );
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5219999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.205</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31704</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.define_value_and_function_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); } uniform float ref_out0; float out0; 
#	define		VALUE			(1.5 + 2.5)
#	define		FUNCTION(__LINE__, b)	__LINE__+b

void main()
{
	out0 = FUNCTION(VALUE, ((0.2) + 1.8) );
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0979999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.872999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24818</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_object_invalid_syntax_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define		VAL			2.0
#undef		VAL	sdflkjfds
#define		VAL			1.0

void main()
{
	gl_Position = vec4(VAL);
}
</ShaderSource>
        <InfoLog>0:3(13): preprocessor error: syntax error, unexpected IDENTIFIER, expecting NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.38700000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2614</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_object_invalid_syntax_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define		VAL			2.0
#undef		VAL	sdflkjfds
#define		VAL			1.0

void main()
{
	gl_FragColor = vec4(VAL);
}
</ShaderSource>
        <InfoLog>0:3(13): preprocessor error: syntax error, unexpected IDENTIFIER, expecting NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.33900000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_invalid_object_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef __VERSION__

void main()
{
	gl_Position = vec4(__VERSION__);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error:  names containing consecutive underscores are reserved.
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.31</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_invalid_object_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef __VERSION__

void main()
{
	gl_FragColor = vec4(__VERSION__);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error:  names containing consecutive underscores are reserved.
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2493</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_invalid_object_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef GL_ES

void main()
{
	gl_Position = vec4(GL_ES);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: Built-in (pre-defined) names beginning with GL_ cannot be undefined.
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.313</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2380</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_invalid_object_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef GL_ES

void main()
{
	gl_FragColor = vec4(GL_ES);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: Built-in (pre-defined) names beginning with GL_ cannot be undefined.
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19900000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2366</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_function_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define		FUNCTION(a,b) a+b
#undef		FUNCTION
#define		FUNCTION(a,b) a-b

void main()
{
	out0 = FUNCTION(3.0, 2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5419999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.086</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31746</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_function_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define		FUNCTION(a,b) a+b
#undef		FUNCTION
#define		FUNCTION(a,b) a-b

void main()
{
	out0 = FUNCTION(3.0, 2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5190000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.013999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29895</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.define_non_identifier_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define 123 321

void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(9): preprocessor error: #define followed by a non-identifier: 123
0:2(9): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting FUNC_IDENTIFIER or OBJ_IDENTIFIER or NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.39500000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2780</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.define_non_identifier_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define 123 321

void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(9): preprocessor error: #define followed by a non-identifier: 123
0:2(9): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting FUNC_IDENTIFIER or OBJ_IDENTIFIER or NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2734</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef 123

void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(8): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.29699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef 123

void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(8): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.18099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2570</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef foo.bar

void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(11): preprocessor error: syntax error, unexpected &apos;.&apos;, expecting NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.255</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2541</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#undef foo.bar

void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(11): preprocessor error: syntax error, unexpected &apos;.&apos;, expecting NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.192</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2435</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_ident_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define AAAA		2.1
# define VALUE (AAA - 1.0)
# define VALUE (AAAA - 1.0)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:5(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.28699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2806</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_ident_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define AAAA		2.1
# define VALUE (AAA - 1.0)
# define VALUE (AAAA - 1.0)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:5(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2674</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_whitespace_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA- 1.0)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.54500000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3054</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_whitespace_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA- 1.0)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.40100000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2793</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_op_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA + 1.0)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.40300000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2699</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_op_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA + 1.0)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.36399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2720</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_floatval_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA - 1.1)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.373</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2646</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_floatval_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA - 1.1)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.24399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_floatval_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA - 1.0e-1)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.56100000000000005</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2774</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_floatval_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2.0
# define VALUE (AAA - 1.0)
# define VALUE (AAA - 1.0e-1)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.35999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2546</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_intval_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2
# define VALUE (AAA - 1)
# define VALUE (AAA - 2)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.252</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_intval_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2
# define VALUE (AAA - 1)
# define VALUE (AAA - 2)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_intval_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2
# define VALUE (AAA - 1)
# define VALUE (AAA - 0x1)

void main()
{
	gl_Position = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.7779999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8032</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.invalid_object_intval_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA		2
# define VALUE (AAA - 1)
# define VALUE (AAA - 0x1)

void main()
{
	gl_FragColor = vec4(VALUE);
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: Redefinition of macro VALUE

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.248</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2512</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#	define  VAL1 1.0
#define		VAL2 2.0

#define RES2 (RES1 * VAL2)
#define RES1	(VAL2 / VAL1)
#define RES2	(RES1 * VAL2)
#define VALUE	(RES2 + RES1)

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.891</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.384998000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65378</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#	define  VAL1 1.0
#define		VAL2 2.0

#define RES2 (RES1 * VAL2)
#define RES1	(VAL2 / VAL1)
#define RES2	(RES1 * VAL2)
#define VALUE	(RES2 + RES1)

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3559999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.792998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_ifdef_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define ADEFINE 1
#define ADEFINE 1

#ifdef ADEFINE
#define VALUE 1.0
#else
#define VALUE 0.0
#endif

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6579999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.327</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42999</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_ifdef_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define ADEFINE 1
#define ADEFINE 1

#ifdef ADEFINE
#define VALUE 1.0
#else
#define VALUE 0.0
#endif

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0539999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5660000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36700</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_undef_ifdef_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define ADEFINE 1
#define ADEFINE 1
#undef ADEFINE

#ifdef ADEFINE
#define VALUE 0.0
#else
#define VALUE 1.0
#endif

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7250000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.687999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61247</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_undef_ifdef_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define ADEFINE 1
#define ADEFINE 1
#undef ADEFINE

#ifdef ADEFINE
#define VALUE 0.0
#else
#define VALUE 1.0
#endif

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2490000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.386998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57433</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_ifndef_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define ADEFINE 1
#define ADEFINE 1

#ifndef ADEFINE
#define VALUE 0.0
#else
#define VALUE 1.0
#endif

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.187999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44633</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_ifndef_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define ADEFINE 1
#define ADEFINE 1

#ifndef ADEFINE
#define VALUE 0.0
#else
#define VALUE 1.0
#endif

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.757000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60787</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_defined_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define ADEFINE 1
#define ADEFINE 1

#if defined(ADEFINE)
#define VALUE 1.0
#else
#define VALUE 0.0
#endif

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6080000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.222000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54816</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_defined_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define ADEFINE 1
#define ADEFINE 1

#if defined(ADEFINE)
#define VALUE 1.0
#else
#define VALUE 0.0
#endif

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2530000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.975</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35902</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_defined_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define ADEFINE 1
#define ADEFINE 1

#if defined ADEFINE
#define VALUE 1.0
#else
#define VALUE 0.0
#endif

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6389999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.891000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58744</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_defined_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define ADEFINE 1
#define ADEFINE 1

#if defined ADEFINE
#define VALUE 1.0
#else
#define VALUE 0.0
#endif

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.888000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42909</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_comment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#	define  VAL1 1.0
#define		VAL2 2.0

#define RES2 /* fdsjklfdsjkl dsfjkhfdsjkh fdsjklhfdsjkh */ (RES1 * VAL2)
#define RES1	(VAL2 / VAL1)
#define RES2	/* ewrlkjhsadf */ (RES1 * VAL2)
#define VALUE	(RES2 + RES1)

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9620000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.054001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62942</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_comment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#	define  VAL1 1.0
#define		VAL2 2.0

#define RES2 /* fdsjklfdsjkl dsfjkhfdsjkh fdsjklhfdsjkh */ (RES1 * VAL2)
#define RES1	(VAL2 / VAL1)
#define RES2	/* ewrlkjhsadf */ (RES1 * VAL2)
#define VALUE	(RES2 + RES1)

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.298</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.509001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44146</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_multiline_comment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#	define  VAL1 1.0
#define		VAL2 2.0

#define RES2 /* fdsjklfdsjkl
				dsfjkhfdsjkh
				fdsjklhfdsjkh */ (RES1 * VAL2)
#define RES1	(VAL2 / VAL1)
#define RES2	/* ewrlkjhsadf */ (RES1 * VAL2)
#define VALUE	(RES2 + RES1)

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8220000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.584</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.object_redefinitions.redefine_object_multiline_comment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#	define  VAL1 1.0
#define		VAL2 2.0

#define RES2 /* fdsjklfdsjkl
				dsfjkhfdsjkh
				fdsjklhfdsjkh */ (RES1 * VAL2)
#define RES1	(VAL2 / VAL1)
#define RES2	/* ewrlkjhsadf */ (RES1 * VAL2)
#define VALUE	(RES2 + RES1)

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.579000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.multiline_comment_define_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define VALUE /* current
			value */ 4.2

void main()
{
	out0 = VALUE;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.544</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.712</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">90782</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.multiline_comment_define_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define VALUE /* current
			value */ 4.2

void main()
{
	out0 = VALUE;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2069999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.570999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47322</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.nested_comment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = 0.0;
	/* /* */
	out0 = 1.0;
	// */
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6520000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.616000999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54047</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.nested_comment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = 0.0;
	/* /* */
	out0 = 1.0;
	// */
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2410000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">44.759998000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71776</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.comment_trick_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	/*/
	out0 = 0.0;
	/*/
	out0 = 1.0;
	/**/
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.621</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.029998999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71061</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.comment_trick_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	/*/
	out0 = 0.0;
	/*/
	out0 = 1.0;
	/**/
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.194</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">45.124001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">101076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.comment_trick_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	/**/
	out0 = 1.0;
	/*/
	out0 = 0.0;
	/**/
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5150000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">45.381999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">95335</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.comment_trick_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	/**/
	out0 = 1.0;
	/*/
	out0 = 0.0;
	/**/
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1440000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.728000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71536</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.invalid_comment_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	/* /* */ */
	gl_Position = 1.0;
}
</ShaderSource>
        <InfoLog>0:4(2): error: syntax error, unexpected &apos;*&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.59999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2857</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.invalid_comment_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	/* /* */ */
	gl_FragColor = 1.0;
}
</ShaderSource>
        <InfoLog>0:4(2): error: syntax error, unexpected &apos;*&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.504</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2723</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.unterminated_comment_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	/*
}
</ShaderSource>
        <InfoLog>0:5(1): preprocessor error: Unterminated comment
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.38900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.032000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.unterminated_comment_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	/*
}
</ShaderSource>
        <InfoLog>0:5(1): preprocessor error: Unterminated comment
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28899999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.unterminated_comment_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>/*
precision mediump float;
void main()
{
}
</ShaderSource>
        <InfoLog>0:5(1): preprocessor error: Unterminated comment
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.16</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2436</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.comments.unterminated_comment_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>/*
precision mediump float;
void main()
{
}
</ShaderSource>
        <InfoLog>0:5(1): preprocessor error: Unterminated comment
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2540</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_definitions.same_object_and_function_param_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define VALUE 1.0
#define FUNCTION(VALUE, B)	(VALUE-B)

void main()
{
	out0 = FUNCTION(3.0, 2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.508</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.361999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44989</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_definitions.same_object_and_function_param_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define VALUE 1.0
#define FUNCTION(VALUE, B)	(VALUE-B)

void main()
{
	out0 = FUNCTION(3.0, 2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4169999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.787001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65565</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_definitions.complex_func_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define AAA(a,b)	a*(BBB(a,b))
#define BBB(a,b)	a-b

void main()
{
	out0 = BBB(AAA(8.0/4.0, 2.0)*BBB(2.0*2.0,0.75*2.0), AAA(40.0,10.0*BBB(5.0,3.0)));
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8500000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">53.254002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">91871</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_definitions.complex_func_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define AAA(a,b)	a*(BBB(a,b))
#define BBB(a,b)	a-b

void main()
{
	out0 = BBB(AAA(8.0/4.0, 2.0)*BBB(2.0*2.0,0.75*2.0), AAA(40.0,10.0*BBB(5.0,3.0)));
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6080000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.311001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43753</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_definitions.function_definition_with_comments_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

/* sdfljk */	#/* sdfljk */define /* sdfljk */ FUNC( /* jklsfd*/a /*sfdjklh*/, /*sdfklj */b /*sdfklj*/)		a+b

void main()
{
	out0 = FUNC(1.0, 2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5750000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.165999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">117940</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_definitions.function_definition_with_comments_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

/* sdfljk */	#/* sdfljk */define /* sdfljk */ FUNC( /* jklsfd*/a /*sfdjklh*/, /*sdfklj */b /*sdfklj*/)		a+b

void main()
{
	out0 = FUNC(1.0, 2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3610000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.77</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78315</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA	AAA

void main()
{
	gl_Position = vec4(AAA);
}
</ShaderSource>
        <InfoLog>0:6(21): error: `AAA&apos; undeclared
0:6(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.966</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA	AAA

void main()
{
	gl_FragColor = vec4(AAA);
}
</ShaderSource>
        <InfoLog>0:6(22): error: `AAA&apos; undeclared
0:6(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9319999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4387</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA	BBB
#define BBB		AAA

void main()
{
	gl_Position = vec4(AAA);
}
</ShaderSource>
        <InfoLog>0:7(21): error: `AAA&apos; undeclared
0:7(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2730000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4867</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA	BBB
#define BBB		AAA

void main()
{
	gl_FragColor = vec4(AAA);
}
</ShaderSource>
        <InfoLog>0:7(22): error: `AAA&apos; undeclared
0:7(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7989999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA	(1.0+BBB)
#define BBB		(2.0+AAA)

void main()
{
	gl_Position = vec4(AAA);
}
</ShaderSource>
        <InfoLog>0:7(31): error: `AAA&apos; undeclared
0:7(27): error: operands to arithmetic operators must be numeric
0:7(22): error: operands to arithmetic operators must be numeric
0:7(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.962</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4339</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA	(1.0+BBB)
#define BBB		(2.0+AAA)

void main()
{
	gl_FragColor = vec4(AAA);
}
</ShaderSource>
        <InfoLog>0:7(32): error: `AAA&apos; undeclared
0:7(28): error: operands to arithmetic operators must be numeric
0:7(23): error: operands to arithmetic operators must be numeric
0:7(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8879999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4275</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA(a)	AAA(a)

void main()
{
	gl_Position = vec4(AAA(1.0));
}
</ShaderSource>
        <InfoLog>0:6(21): error: no function with name &apos;AAA&apos;
0:6(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.952</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4323</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA(a)	AAA(a)

void main()
{
	gl_FragColor = vec4(AAA(1.0));
}
</ShaderSource>
        <InfoLog>0:6(22): error: no function with name &apos;AAA&apos;
0:6(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.853</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4160</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_5_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA(a, b)	AAA(b, a)

void main()
{
	gl_Position = vec4(AAA(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:6(21): error: no function with name &apos;AAA&apos;
0:6(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0590000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4380</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.recursion.recursion_5_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define AAA(a, b)	AAA(b, a)

void main()
{
	gl_FragColor = vec4(AAA(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:6(22): error: no function with name &apos;AAA&apos;
0:6(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6850000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4129</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.function_redefinition_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC( a, b)		a+b

attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = FUNC(1.0, 2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5369999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">69.471999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">145537</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.function_redefinition_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC( a, b)		a+b

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = FUNC(1.0, 2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3220000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.959999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">115326</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.function_redefinition_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		(a  +b)
# define FUNC( a, b )(a			+b)

attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = FUNC(1.0, 2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8279999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">77.609001000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">154795</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.function_redefinition_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		(a  +b)
# define FUNC( a, b )(a			+b)

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = FUNC(1.0, 2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.167000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">117885</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.function_redefinition_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		(a  +b)
# define FUNC(a,b)(a	/* comment
						 */ +b)

attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = FUNC(1.0, 2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5409999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">67.286002999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">101878</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.function_redefinition_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		(a  +b)
# define FUNC(a,b)(a	/* comment
						 */ +b)

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = FUNC(1.0, 2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5459999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">106933</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.invalid_function_redefinition_param_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC(A,b)		A+b

void main()
{
	gl_Position = vec4(FUNC(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:3(10): preprocessor error: Redefinition of macro FUNC

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.38300000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2646</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.invalid_function_redefinition_param_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC(A,b)		A+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:3(10): preprocessor error: Redefinition of macro FUNC

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28499999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2495</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.invalid_function_redefinition_param_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC(a,b,c)	a+b+c

void main()
{
	gl_Position = vec4(FUNC(1.0, 2.0, 3.0));
}
</ShaderSource>
        <InfoLog>0:3(10): preprocessor error: Redefinition of macro FUNC

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.27000000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2449</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.invalid_function_redefinition_param_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC(a,b,c)	a+b+c

void main()
{
	gl_FragColor = vec4(FUNC(1.0, 2.0, 3.0));
}
</ShaderSource>
        <InfoLog>0:3(10): preprocessor error: Redefinition of macro FUNC

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.27800000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2608</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.invalid_function_redefinition_param_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC(a,b)		b+a

void main()
{
	gl_Position = vec4(FUNC(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:3(10): preprocessor error: Redefinition of macro FUNC

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.27200000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.function_redefinitions.invalid_function_redefinition_param_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b
# define FUNC(a,b)		b+a

void main()
{
	gl_FragColor = vec4(FUNC(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:3(10): preprocessor error: Redefinition of macro FUNC

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.33000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC);
}
</ShaderSource>
        <InfoLog>0:7(2): preprocessor error: syntax error, unexpected end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.311</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2559</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC);
}
</ShaderSource>
        <InfoLog>0:7(2): preprocessor error: syntax error, unexpected end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC());
}
</ShaderSource>
        <InfoLog>0:6(21): preprocessor error: Error: macro FUNC invoked with 1 arguments (expected 2)

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26500000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2550</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC());
}
</ShaderSource>
        <InfoLog>0:6(22): preprocessor error: Error: macro FUNC invoked with 1 arguments (expected 2)

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.254</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2466</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC((();
}
</ShaderSource>
        <InfoLog>0:7(2): preprocessor error: syntax error, unexpected end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.253</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2492</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC((();
}
</ShaderSource>
        <InfoLog>0:7(2): preprocessor error: syntax error, unexpected end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25700000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2480</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC));
}
</ShaderSource>
        <InfoLog>0:7(2): preprocessor error: syntax error, unexpected end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.24199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2416</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC));
}
</ShaderSource>
        <InfoLog>0:7(2): preprocessor error: syntax error, unexpected end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2471</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_5_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0));
}
</ShaderSource>
        <InfoLog>0:6(21): preprocessor error: Error: macro FUNC invoked with 1 arguments (expected 2)

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_5_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0));
}
</ShaderSource>
        <InfoLog>0:6(22): preprocessor error: Error: macro FUNC invoked with 1 arguments (expected 2)

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2394</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_6_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0);
}
</ShaderSource>
        <InfoLog>0:6(28): error: syntax error, unexpected &apos;;&apos;, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.54500000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2925</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_6_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0);
}
</ShaderSource>
        <InfoLog>0:6(29): error: syntax error, unexpected &apos;;&apos;, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.51000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2673</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_7_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,));
}
</ShaderSource>
        <InfoLog>0:6(25): error: syntax error, unexpected &apos;)&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2692</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_7_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,));
}
</ShaderSource>
        <InfoLog>0:6(26): error: syntax error, unexpected &apos;)&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.57799999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2845</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_8_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0, 2.0, 3.0));
}
</ShaderSource>
        <InfoLog>0:6(21): preprocessor error: Error: macro FUNC invoked with 3 arguments (expected 2)

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.27600000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2471</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.arguments_8_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0, 2.0, 3.0));
}
</ShaderSource>
        <InfoLog>0:6(22): preprocessor error: Error: macro FUNC invoked with 3 arguments (expected 2)

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26400000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2469</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.unique_param_name_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,a)		a+a

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(10): preprocessor error: Duplicate macro parameter &quot;a&quot;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.255</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2513</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.unique_param_name_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a,a)		a+a

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(10): preprocessor error: Duplicate macro parameter &quot;a&quot;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.24099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2441</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.argument_list_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(17): preprocessor error: syntax error, unexpected IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.19900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2412</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.argument_list_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(17): preprocessor error: syntax error, unexpected IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2448</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.argument_list_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a + b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(17): preprocessor error: syntax error, unexpected &apos;+&apos;, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.19400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2346</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.argument_list_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(a + b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(17): preprocessor error: syntax error, unexpected &apos;+&apos;, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2449</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.argument_list_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(,a,b)		a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(15): preprocessor error: syntax error, unexpected &apos;,&apos;, expecting IDENTIFIER or &apos;)&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.19800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2367</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.argument_list_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(,a,b)		a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(15): preprocessor error: syntax error, unexpected &apos;,&apos;, expecting IDENTIFIER or &apos;)&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(15): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER or &apos;)&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(15): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER or &apos;)&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2449</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(A  a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(18): preprocessor error: syntax error, unexpected IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.25600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2468</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(A  a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(18): preprocessor error: syntax error, unexpected IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.186</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(A,B,C  a+b

void main()
{
	gl_Position = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(22): preprocessor error: syntax error, unexpected IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.22</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2375</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(A,B,C  a+b

void main()
{
	gl_FragColor = vec4(FUNC(1.0,2.0));
}
</ShaderSource>
        <InfoLog>0:2(22): preprocessor error: syntax error, unexpected IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.189</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2328</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(
</ShaderSource>
        <InfoLog>0:2(15): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER or &apos;)&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21099999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2421</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.no_closing_parenthesis_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
# define FUNC(
</ShaderSource>
        <InfoLog>0:2(15): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER or &apos;)&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.semantic.ops_as_arguments_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define FOO(a, b)		(1 a 9) b 2

void main()
{
	out0 = float(FOO(+, *));
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.73</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.221001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">134906</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.semantic.ops_as_arguments_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define FOO(a, b)		(1 a 9) b 2

void main()
{
	out0 = float(FOO(+, *));
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.569</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8179999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34900</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.semantic.correct_order_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define FUNC(A) A
#define A 2.0

void main()
{
	out0 = FUNC(A - 1.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6709999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.218</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41043</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.semantic.correct_order_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define FUNC(A) A
#define A 2.0

void main()
{
	out0 = FUNC(A - 1.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4940000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.294001000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37220</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.version_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define AAA __VERSION__
	out0 = float(AAA);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.702</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.606999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76186</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.version_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define AAA __VERSION__
	out0 = float(AAA);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.835</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9459999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26472</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.gl_es_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;


void main()
{
	out0 = float(GL_ES);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.31</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26040</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.gl_es_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;


void main()
{
	out0 = float(GL_ES);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3029999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.989000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27283</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.gl_es_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define AAA(A) A

void main()
{
	out0 = float(AAA(GL_ES));
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">266.79400600000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">992.61199999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1273997</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.gl_es_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define AAA(A) A

void main()
{
	out0 = float(AAA(GL_ES));
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1099999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5030000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.line_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>const mediump int line = __LINE__;
precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = float(line);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.484</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.579000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28028</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.line_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>const mediump int line = __LINE__;
precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = float(line);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.122</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1949999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.922000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33797</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.file_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = float(__FILE__);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5990000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.105</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26863</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.file_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = float(__FILE__);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1989999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.571</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.if_gl_es_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if GL_ES
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5739999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.195</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27918</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.if_gl_es_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if GL_ES
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2390000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24469</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.if_version_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if __VERSION__ == 100
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3149999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.467000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27455</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.if_version_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if __VERSION__ == 100
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2490000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24475</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#define AAA asdf

#if defined AAA &amp;&amp; !defined(BBB)
	out0 = 1.0;
#else
	out0 = 0.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.502000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#define AAA asdf

#if defined AAA &amp;&amp; !defined(BBB)
	out0 = 1.0;
#else
	out0 = 0.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.127</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.882</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24563</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#define AAA defined(BBB)

#if !AAA
	out0 = 1.0;
#else
	out0 = 0.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.548</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26030</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#define AAA defined(BBB)

#if !AAA
	out0 = 1.0;
#else
	out0 = 0.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2200000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1760000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22051</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 0
	out0 = -1.0;
#elif 0
	out0 = -2.0;
#elif 1
	out0 = 1.0;
#else
	out0 = -3.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.536</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.6</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27631</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 0
	out0 = -1.0;
#elif 0
	out0 = -2.0;
#elif 1
	out0 = 1.0;
#else
	out0 = -3.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.122</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1179999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.858000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26327</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 0
	out0 = -1.0;
#elif 0
	out0 = -2.0;
#else
	out0 = 1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6179999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.510999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27702</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 0
	out0 = -1.0;
#elif 0
	out0 = -2.0;
#else
	out0 = 1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.097</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.835000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23763</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_5_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 1
	out0 = 1.0;
#elif 0
	out0 = -2.0;
#else
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5910000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.882</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27338</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.basic_5_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 1
	out0 = 1.0;
#elif 0
	out0 = -2.0;
#else
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2029999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2739999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22757</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.unary_ops_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if !((~2 &gt;&gt; 1) &amp; 1)
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4660000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.563000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27785</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.unary_ops_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if !((~2 &gt;&gt; 1) &amp; 1)
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2330000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.788</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24697</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.unary_ops_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if !((~(- - - - - 1 + + + + + +1) &gt;&gt; 1) &amp; 1)
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5030000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.154</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27943</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditional_inclusion.unary_ops_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if !((~(- - - - - 1 + + + + + +1) &gt;&gt; 1) &amp; 1)
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1800000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23072</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_op_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !((~(+ ++1 - - - -1) &gt;&gt; 1) &amp; 1)
	gl_Position = vec4(-1.0);
#else
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(36): preprocessor error: syntax error, unexpected PLUS_PLUS
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.41099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2732</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_op_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !((~(+ ++1 - - - -1) &gt;&gt; 1) &amp; 1)
	gl_FragColor = vec4(-1.0);
#else
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(36): preprocessor error: syntax error, unexpected PLUS_PLUS
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2527</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_op_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !((~(+ + +1 - -- -1) &gt;&gt; 1) &amp; 1)
	gl_Position = vec4(-1.0);
#else
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(36): preprocessor error: syntax error, unexpected MINUS_MINUS
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.34399999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2420</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_op_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !((~(+ + +1 - -- -1) &gt;&gt; 1) &amp; 1)
	gl_FragColor = vec4(-1.0);
#else
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(36): preprocessor error: syntax error, unexpected MINUS_MINUS
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.13700000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(12): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.219</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2437</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(12): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2393</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined()
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(14): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.222</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined()
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(14): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.113</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20499999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2413</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined(
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(13): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.222</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2497</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined(
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(13): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.108</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2450</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined)
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(13): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.30299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined)
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(13): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_5_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined((AAA))
	gl_Position = vec4(FUNC(1.0,2.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(19): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.22800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2467</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_identifier_5_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined((AAA))
	gl_FragColor = vec4(FUNC(1.0,2.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(19): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2441</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_rparen_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined(AAA
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(16): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.312</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2413</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.invalid_defined_expected_rparen_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#define AAA 1

void main()
{
#if defined(AAA
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:6(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:6(16): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.221</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2492</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.defined_define_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define define 1
#define AAA 1.0

void main()
{
	out0 = AAA;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4910000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.308999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27576</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_ops.defined_define_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define define 1
#define AAA 1.0

void main()
{
	out0 = AAA;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.846</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25060</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.valid_undefined_identifier_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 1 || AAA
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4289999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.611000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26311</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.valid_undefined_identifier_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 1 || AAA
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2080000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2690000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24931</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.valid_undefined_identifier_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 0 &amp;&amp; AAA
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.524</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.073</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29365</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.valid_undefined_identifier_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 0 &amp;&amp; AAA
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.222</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0259999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24667</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1 - CCC + (-AAA || BBB)
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(28): preprocessor error: undefined macro CCC in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.52900000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1 - CCC + (-AAA || BBB)
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(28): preprocessor error: undefined macro CCC in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41099999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2623</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !A
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.33400000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2421</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !A
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32400000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2440</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if -A
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.22900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2439</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if -A
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25900000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2455</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if ~A
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.33200000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2440</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if ~A
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_5_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if A &amp;&amp; B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.33800000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2463</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_5_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if A &amp;&amp; B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.13600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2448</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_6_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define A 1
#if A &amp;&amp; B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro B in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.34899999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2489</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_6_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define A 1
#if A &amp;&amp; B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro B in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.14000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.246</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2529</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_7_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define B 1
#if A &amp;&amp; B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.35699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2521</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_7_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define B 1
#if A &amp;&amp; B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.112</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29299999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2486</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_8_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define B 1
#define A 2
#undef A
#if A &amp;&amp; B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:7(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.35599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2483</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_8_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define B 1
#define A 2
#undef A
#if A &amp;&amp; B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:7(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.253</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2527</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_9_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if A || B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.23899999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2523</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_9_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if A || B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.10299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2464</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_10_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define A 0
#if A || B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro B in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.251</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2530</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_10_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define A 0
#if A || B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro B in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.249</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_11_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define A 0
#define B 2
#undef B
#if A || B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:7(11): preprocessor error: undefined macro B in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.255</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2478</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_11_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define A 0
#define B 2
#undef B
#if A || B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:7(11): preprocessor error: undefined macro B in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2550</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_12_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define B 1
#if A || B
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.253</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.undefined_identifiers.undefined_identifier_12_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#define B 1
#if A || B
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(11): preprocessor error: undefined macro A in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.37</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2615</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #if with no expression
0:4(1): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.255</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2745</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #if with no expression
0:4(1): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.30599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2408</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_ifdef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.254</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2338</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_ifdef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.12</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.193</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2466</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_ifndef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(8): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.30199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2369</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_ifndef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(8): preprocessor error: syntax error, unexpected NEWLINE, expecting IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2236</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_if_defined_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if defined
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:4(12): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.30599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2450</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.empty_if_defined_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if defined
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(5): preprocessor error: &quot;defined&quot; not followed by an identifier
0:4(12): preprocessor error: syntax error, unexpected DEFINED
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2262</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_if_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.221</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2443</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_if_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2335</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_if_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.316</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2370</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_if_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.252</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_ifdef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef FOOBAR
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2378</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_ifdef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef FOOBAR
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_ifndef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef GL_ES
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(9): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.23300000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2257</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_ifndef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef GL_ES
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(9): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.188</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2456</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_else_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#else
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2261</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_else_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#else
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.248</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2426</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_else_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#else
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.217</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2372</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_else_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#else
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.219</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_elif_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#elif 1
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.219</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_elif_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#elif 1
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32900000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_elif_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#elif 0
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_elif_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#elif 0
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2424</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_elif_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#elif 0
	gl_Position = vec4(2.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2363</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.unterminated_elif_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#elif 0
	gl_FragColor = vec4(2.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2393</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.elif_after_else_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
	gl_Position = vec4(1.0);
#else
	gl_Position = vec4(-1.0);
#elif 1
	gl_Position = vec4(0.0);
#endif
}
</ShaderSource>
        <InfoLog>0:8(1): preprocessor error: #elif after #else
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.24299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2354</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.elif_after_else_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
	gl_FragColor = vec4(1.0);
#else
	gl_FragColor = vec4(-1.0);
#elif 1
	gl_FragColor = vec4(0.0);
#endif
}
</ShaderSource>
        <InfoLog>0:8(1): preprocessor error: #elif after #else
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2520</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.else_without_if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#else
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #else without #if

0:6(1): preprocessor error: #endif without #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2248</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.else_without_if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#else
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #else without #if

0:6(1): preprocessor error: #endif without #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2412</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.elif_without_if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#elif 1
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #elif without #if

0:6(1): preprocessor error: #endif without #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.214</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.elif_without_if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#elif 1
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #elif without #if

0:6(1): preprocessor error: #endif without #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.11799999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.218</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.endif_without_if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(1): preprocessor error: #endif without #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.19800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2261</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.endif_without_if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(1): preprocessor error: #endif without #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2481</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.else_after_else_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !GL_ES
gl_Position = vec4(1.0);
#else
gl_Position = vec4(-1.0);
#else
gl_Position = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:8(1): preprocessor error: multiple #else
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.245</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2285</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.else_after_else_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !GL_ES
gl_FragColor = vec4(1.0);
#else
gl_FragColor = vec4(-1.0);
#else
gl_FragColor = vec4(-1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:8(1): preprocessor error: multiple #else
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2445</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.nested_elif_without_if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
gl_Position = vec4(1.0);
#	elif
gl_Position = vec4(0.0);
#	endif
#endif
}
</ShaderSource>
        <InfoLog>0:6(1): preprocessor warning: ignoring illegal #elif without expression
0:9(1): preprocessor error: #endif without #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.22900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.nested_elif_without_if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
gl_FragColor = vec4(1.0);
#	elif
gl_FragColor = vec4(0.0);
#	endif
#endif
}
</ShaderSource>
        <InfoLog>0:6(1): preprocessor warning: ignoring illegal #elif without expression
0:9(1): preprocessor error: #endif without #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.34300000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2436</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.if_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1.231
gl_Position = vec4(1.0);
#	elif
gl_Position = vec4(0.0);
#	endif
#endif
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: syntax error, unexpected OTHER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.19500000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.if_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1.231
gl_FragColor = vec4(1.0);
#	elif
gl_FragColor = vec4(0.0);
#	endif
#endif
}
</ShaderSource>
        <InfoLog>0:4(10): preprocessor error: syntax error, unexpected OTHER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2508</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1 foobar
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(13): preprocessor error: syntax error, unexpected IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2249</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1 foobar
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(13): preprocessor error: syntax error, unexpected IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.30199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_elif_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#elif foobar
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(13): preprocessor error: undefined macro foobar in expression (illegal in GLES)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.218</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2319</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_elif_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 0
#elif foobar
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:5(13): preprocessor error: undefined macro foobar in expression (illegal in GLES)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2411</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_else_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#else foobar 1.231
#endif
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(7): preprocessor error: syntax error, unexpected IDENTIFIER, expecting NEWLINE
0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2272</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_else_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#else foobar 1.231
#endif
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(7): preprocessor error: syntax error, unexpected IDENTIFIER, expecting NEWLINE
0:4(6): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2479</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_endif_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#else
#endif foobar
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:6(8): preprocessor error: syntax error, unexpected IDENTIFIER, expecting NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2249</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_endif_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#else
#endif foobar
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:6(8): preprocessor error: syntax error, unexpected IDENTIFIER, expecting NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifdef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef FOOBAR foobar
#else
#endif
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(15): preprocessor error: extra tokens at end of directive
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.218</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2436</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifdef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef FOOBAR foobar
#else
#endif
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(15): preprocessor error: extra tokens at end of directive
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.21199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2271</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifndef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef FOOBAR ,, +- &lt;&lt; barbar
#else
#endif
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(16): preprocessor error: extra tokens at end of directive
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.222</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2424</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifndef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef FOOBAR ,, +- &lt;&lt; barbar
#else
#endif
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(16): preprocessor error: extra tokens at end of directive
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.214</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2334</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.unterminated_nested_blocks_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#	if 1
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(7): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.29499999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2437</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.unterminated_nested_blocks_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 1
#	if 1
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(7): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.216</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2332</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifdef_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#define AAA
		precision mediump float;
		attribute highp vec4 dEQP_Position;
varying float out0;

		void main()
		{
#ifdef AAA
			out0 = 1.0;
#else
			out0 = -1.0;
#endif
			gl_Position = dEQP_Position;

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4449999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.550000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifdef_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#define AAA
		precision mediump float;
		bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

		void main()
		{
#ifdef AAA
			out0 = 1.0;
#else
			out0 = -1.0;
#endif
			bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0419999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3309999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24339</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifdef_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#define AAA
		precision mediump float;
		attribute highp vec4 dEQP_Position;
varying float out0;

		void main()
		{
#if defined  ( AAA)
			out0 = 1.0;
#else
			out0 = -1.0;
#endif
			gl_Position = dEQP_Position;

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4289999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.551</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26096</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifdef_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#define AAA
		precision mediump float;
		bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

		void main()
		{
#if defined  ( AAA)
			out0 = 1.0;
#else
			out0 = -1.0;
#endif
			bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.113</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3650000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22981</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifdef_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#ifdef AAA
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.452</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.4</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25989</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifdef_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#ifdef AAA
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0699999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2159999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22784</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.invalid_ifdef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef 1
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(8): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.41599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2586</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.invalid_ifdef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifdef 1
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(8): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.189</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2271</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifndef_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#ifndef AAA
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3919999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.058999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27527</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifndef_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#ifndef AAA
	out0 = 1.0;
#else
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0990000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.944000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26138</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifndef_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define AAA
void main()
{
#ifndef AAA
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3959999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.256</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25787</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.ifndef_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define AAA
void main()
{
#ifndef AAA
	out0 = -1.0;
#else
	out0 = 1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.984</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2560000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22819</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.invalid_ifndef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef 1
	gl_Position = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(9): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.41299999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.invalid_ifndef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#ifndef 1
	gl_FragColor = vec4(1.0);
#endif
}
</ShaderSource>
        <InfoLog>0:4(9): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29399999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2391</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.mixed_conditional_inclusion_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#ifndef AAA
	out0 = 1.0;
#elif 1
	out0 = -1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.423</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.49</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.mixed_conditional_inclusion_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#ifndef AAA
	out0 = 1.0;
#elif 1
	out0 = -1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2160000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2070000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24702</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.nested_if_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if GL_ES
#	if __VERSION__ != 100
	out0 = -1.0;
#	else
	out0 = 1.0;
#	endif
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4769999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.147</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29178</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.nested_if_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if GL_ES
#	if __VERSION__ != 100
	out0 = -1.0;
#	else
	out0 = 1.0;
#	endif
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1400000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.853</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26081</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.nested_if_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 1
#	if 0
	out0 = -1.0;
#	else
#		if 0
	out0 = -1.0;
#		elif 1
	out0 = 1.0;
#		else
	out0 = -1.0;
#		endif
#	endif
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.484</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27707</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.nested_if_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 1
#	if 0
	out0 = -1.0;
#	else
#		if 0
	out0 = -1.0;
#		elif 1
	out0 = 1.0;
#		else
	out0 = -1.0;
#		endif
#	endif
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9550000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2059999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21686</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.nested_if_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
#if 0
#	if 1
	out0 = -1.0;
#	endif
#else
	out0 = 1.0;
#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.472</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.191000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27664</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.conditionals.nested_if_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
#if 0
#	if 1
	out0 = -1.0;
#	endif
#else
	out0 = 1.0;
#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2219999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23544</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>/* asdf */
#version 100
		precision mediump float;
		attribute highp vec4 dEQP_Position;
varying float out0;

		void main()
		{
			out0 = 1.0;
			gl_Position = dEQP_Position;

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.5900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.734</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26236</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>/* asdf */
#version 100
		precision mediump float;
		bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

		void main()
		{
			out0 = 1.0;
			bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2919999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.618</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23440</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_is_less_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 99
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): error: GLSL 0.99 is not supported. Supported versions are: 1.00 ES
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.32000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2653</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_is_less_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 99
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): error: GLSL 0.99 is not supported. Supported versions are: 1.00 ES
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.221</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2290</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_is_more_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 101
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): error: GLSL 1.01 is not supported. Supported versions are: 1.00 ES
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.34000000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2483</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_is_more_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 101
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): error: GLSL 1.01 is not supported. Supported versions are: 1.00 ES
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.222</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2342</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_missing_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: Illegal non-directive after #
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.33200000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2488</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_missing_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: Illegal non-directive after #
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.215</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2324</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_not_first_statement_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#version 100
void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: #version must appear on the first line
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.222</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_not_first_statement_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
#version 100
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: #version must appear on the first line
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.308</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_not_first_statement_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#define FOO BAR
#version 100
precision mediump float;
void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: #version must appear on the first line
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.219</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2313</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_not_first_statement_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#define FOO BAR
#version 100
precision mediump float;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: #version must appear on the first line
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.122</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.215</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2463</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_invalid_token_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100.0
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): preprocessor error: syntax error, unexpected OTHER, expecting INTEGER_STRING
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.155</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2189</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_invalid_token_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100.0
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): preprocessor error: syntax error, unexpected OTHER, expecting INTEGER_STRING
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.155</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2317</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_invalid_token_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version foobar
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): preprocessor error: syntax error, unexpected IDENTIFIER, expecting INTEGER_STRING
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.version_invalid_token_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version foobar
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): preprocessor error: syntax error, unexpected IDENTIFIER, expecting INTEGER_STRING
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.151</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2238</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.invalid_version_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version AAA
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): preprocessor error: syntax error, unexpected IDENTIFIER, expecting INTEGER_STRING
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.16400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2310</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.invalid_version_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version AAA
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): preprocessor error: syntax error, unexpected IDENTIFIER, expecting INTEGER_STRING
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.159</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2488</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.additional_tokens_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100 foobar
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): error: illegal text following version number
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.28799999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.additional_tokens_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100 foobar
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(10): error: illegal text following version number
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26700000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2452</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.error_with_no_tokens_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#error
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: #error
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2312</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.error_with_no_tokens_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#error
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(1): preprocessor error: #error
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.315</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2405</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.error_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#define AAA asdf
#error 1 * AAA /* comment */
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: #error 1 * AAA /* comment */
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.219</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2259</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.directive.error_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#define AAA asdf
#error 1 * AAA /* comment */
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:2(1): preprocessor error: #error 1 * AAA /* comment */
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2595</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.line_and_file_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying vec4 out0;

void main()
{
#line 234 10
	out0 = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5419999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.153</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.653</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32085</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.line_and_file_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
uniform vec4 ref_out0;
vec4 out0;

void main()
{
#line 234 10
	out0 = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2469999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.771000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26954</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.line_defined_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying vec4 out0;

void main()
{
#define A 10
#line 234 A
	out0 = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.569</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.224</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28631</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.line_defined_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
uniform vec4 ref_out0;
vec4 out0;

void main()
{
#define A 10
#line 234 A
	out0 = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2509999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.727</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26754</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.empty_line_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: Illegal non-directive after #
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.437</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2646</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.empty_line_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: Illegal non-directive after #
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.invalid_line_file_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line 22 1.234
	gl_Position = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
}
</ShaderSource>
        <InfoLog>0:4(15): preprocessor error: syntax error, unexpected OTHER, expecting INTEGER or INTEGER_STRING or NEWLINE or PATH
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.313</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.invalid_line_file_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line 22 1.234
	gl_FragColor = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
}
</ShaderSource>
        <InfoLog>0:4(15): preprocessor error: syntax error, unexpected OTHER, expecting INTEGER or INTEGER_STRING or NEWLINE or PATH
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.30099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2412</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.invalid_line_file_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line 233 10 2
	gl_Position = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
}
</ShaderSource>
        <InfoLog>0:4(15): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2259</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.invalid_line_file_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line 233 10 2
	gl_FragColor = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
}
</ShaderSource>
        <InfoLog>0:4(15): preprocessor error: syntax error, unexpected INTEGER_STRING, expecting NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.12</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.invalid_line_file_4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line foobar
	gl_Position = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
}
</ShaderSource>
        <InfoLog>0:4(13): preprocessor error: syntax error, unexpected IDENTIFIER, expecting INTEGER or INTEGER_STRING
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.192</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2308</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.builtin.invalid_line_file_4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#line foobar
	gl_FragColor = vec4(__LINE__, __LINE__, __FILE__, __FILE__);
}
</ShaderSource>
        <InfoLog>0:4(13): preprocessor error: syntax error, unexpected IDENTIFIER, expecting INTEGER or INTEGER_STRING
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19400000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2400</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#pragma
#pragma STDGL invariant(all)
#pragma debug(off)
#pragma optimize(off)

precision mediump float;
attribute highp vec4 dEQP_Position;

varying float v_val;
void main()
{
	v_val = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

invariant varying float v_val;
void main()
{
	out0 = v_val;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2629999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.821999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31148</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

varying float v_val;
void main()
{
	v_val = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#pragma
#pragma STDGL invariant(all)
#pragma debug(off)
#pragma optimize(off)

precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying float v_val;
void main()
{
	out0 = v_val;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4630000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7330000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.795</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32065</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_macro_exp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#define off	INVALID
/* pragma line not macro expanded */
#pragma debug(off)

		precision mediump float;
		attribute highp vec4 dEQP_Position;
varying float out0;

		void main()
		{
			out0 = 1.0;
			gl_Position = dEQP_Position;

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.448</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.504</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27717</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_macro_exp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#define off	INVALID
/* pragma line not macro expanded */
#pragma debug(off)

		precision mediump float;
		bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

		void main()
		{
			out0 = 1.0;
			bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3409999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24703</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_unrecognized_debug_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation and program linking to succeed. Resulting program will not be executed.</Text>
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#pragma debug(1.23)

// unrecognized preprocessor token

precision mediump float;
void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1469999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.2670000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">12050</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_unrecognized_debug_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation and program linking to succeed. Resulting program will not be executed.</Text>
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#pragma debug(1.23)

// unrecognized preprocessor token

precision mediump float;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.222</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.5209999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_unrecognized_token_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation and program linking to succeed. Resulting program will not be executed.</Text>
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#pragma ¤¤½

// trailing bytes form a valid but unrecognized preprocessor token

precision mediump float;
void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.323</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.4690000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">10389</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.pragmas.pragma_unrecognized_token_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation and program linking to succeed. Resulting program will not be executed.</Text>
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#pragma ¤¤½

// trailing bytes form a valid but unrecognized preprocessor token

precision mediump float;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2029999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.6189999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9496</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.basic_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#extension all : warn

		precision mediump float;
		attribute highp vec4 dEQP_Position;
varying float out0;

		void main()
		{
			out0 = 1.0;
			gl_Position = dEQP_Position;

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.605</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.535</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26330</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.basic_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#extension all : warn

		precision mediump float;
		bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

		void main()
		{
			out0 = 1.0;
			bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.286</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.297000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26826</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.macro_exp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#define warn enable

#extension all : warn

		precision mediump float;
		attribute highp vec4 dEQP_Position;
varying float out0;

		void main()
		{
			out0 = 1.0;
			gl_Position = dEQP_Position;

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5249999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.632999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27586</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.macro_exp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#define warn enable

#extension all : warn

		precision mediump float;
		bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

		void main()
		{
			out0 = 1.0;
			bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

		}
	</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0870000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0069999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22553</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.missing_extension_name_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(11): error: syntax error, unexpected EOL, expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.36099999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2563</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.missing_extension_name_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(11): error: syntax error, unexpected EOL, expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25900000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_extension_name_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension 2 : all
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(12): error: syntax error, unexpected INTCONSTANT, expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26900000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2376</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_extension_name_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension 2 : all
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(12): error: syntax error, unexpected INTCONSTANT, expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26800000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2399</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.missing_colon_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(15): error: syntax error, unexpected EOL, expecting COLON
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.25700000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2365</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.missing_colon_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(15): error: syntax error, unexpected EOL, expecting COLON
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.expected_colon_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all ;
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(16): error: syntax error, unexpected &apos;;&apos;, expecting COLON
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26300000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.expected_colon_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all ;
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(16): error: syntax error, unexpected &apos;;&apos;, expecting COLON
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.254</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2364</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.missing_behavior_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all :
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(17): error: syntax error, unexpected EOL, expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26800000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2346</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.missing_behavior_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all :
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(17): error: syntax error, unexpected EOL, expecting IDENTIFIER or TYPE_IDENTIFIER or NEW_IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2422</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_behavior_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all : WARN
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(18): error: unknown extension behavior `WARN&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.28399999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2374</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_behavior_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all : WARN
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(18): error: unknown extension behavior `WARN&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.252</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2328</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_behavior_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all : require
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(12): error: cannot require all extensions
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26900000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2399</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_behavior_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all : require
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(12): error: cannot require all extensions
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2354</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_char_in_name_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all¤ : warn
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(15): error: syntax error, unexpected invalid token, expecting COLON
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.27000000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2383</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_char_in_name_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all¤ : warn
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(15): error: syntax error, unexpected invalid token, expecting COLON
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.255</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_char_in_behavior_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all : war¤n
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(21): error: syntax error, unexpected invalid token, expecting EOL
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.27500000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.invalid_char_in_behavior_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all : war¤n
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(21): error: syntax error, unexpected invalid token, expecting EOL
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.26500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.unterminated_comment_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#extension all : warn /*asd
		precision mediump float;
		void main()
		{
			gl_Position = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(23): error: syntax error, unexpected &apos;/&apos;, expecting EOL
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.26400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2388</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.extensions.unterminated_comment_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#extension all : warn /*asd
		precision mediump float;
		void main()
		{
			gl_FragColor = vec4(1.0);
		}
	</ShaderSource>
        <InfoLog>0:1(23): error: syntax error, unexpected &apos;/&apos;, expecting EOL
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.255</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2332</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.shift_left_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if (VAL &lt;&lt; 2) == 16
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.23</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29458</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.shift_left_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if (VAL &lt;&lt; 2) == 16
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.153</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4009999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.shift_right_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 5
	out0 = 0.0;
	#if (VAL &gt;&gt; 1) == 2
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5369999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.545</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25892</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.shift_right_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 5
	out0 = 0.0;
	#if (VAL &gt;&gt; 1) == 2
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.161</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2360000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23012</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.cmp_less_than_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 5
	out0 = 0.0;
	#if (VAL &lt; 6) &amp;&amp; (-VAL &lt; -4)
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.367</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.417</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25759</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.cmp_less_than_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 5
	out0 = 0.0;
	#if (VAL &lt; 6) &amp;&amp; (-VAL &lt; -4)
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.056</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3019999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23042</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.less_or_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL &lt;= 6) &amp;&amp; (-VAL &lt;= -6)
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.552</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.145</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27641</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.less_or_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL &lt;= 6) &amp;&amp; (-VAL &lt;= -6)
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.069</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2210000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22723</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.or_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL | 5) == 7
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5339999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25933</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.or_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL | 5) == 7
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1360000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1080000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.and_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL &amp; 5) == 4
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3530000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.536</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.and_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL &amp; 5) == 4
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0649999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0220000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.xor_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL ^ 5) == 3
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.343</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.218999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.xor_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 6
	out0 = 0.0;
	#if (VAL ^ 5) == 3
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1549999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.634</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23363</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.mod_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 12
	out0 = 0.0;
	#if (VAL % 5) == 2
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4260000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.571</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24973</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.mod_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 12
	out0 = 0.0;
	#if (VAL % 5) == 2
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3279999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23168</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_value_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL ((  (4   ) )  )
	out0 = 0.0;
	#if VAL &gt;= 4
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.444</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.536</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25034</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_value_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL ((  (4   ) )  )
	out0 = 0.0;
	#if VAL &gt;= 4
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9660000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2759999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24553</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_tricky_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL ((  (4   ) )
	out0 = 0.0;
	#if VAL) &gt;= 4
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.510999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25932</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_tricky_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL ((  (4   ) )
	out0 = 0.0;
	#if VAL) &gt;= 4
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0950000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.935</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24411</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_if_no_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if VAL &gt;= 4
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3519999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.007999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_if_no_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if VAL &gt;= 4
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9689999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22495</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_if_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if (VAL &gt;= 4)
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27333</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_if_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if (VAL &gt;= 4)
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1800000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2240000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22959</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_multi_if_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL (4)
	out0 = 0.0;
	#if (((VAL)) &gt;= (4))
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4340000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.192</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27485</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_multi_if_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL (4)
	out0 = 0.0;
	#if (((VAL)) &gt;= (4))
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1749999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2330000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22976</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_single_if_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if (VAL &gt;= 4)
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.149</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_single_if_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 4
	out0 = 0.0;
	#if (VAL &gt;= 4)
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.0309999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_ifelse_true_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 4
	#if (VAL &gt;= 4)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.448</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.565</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27337</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_ifelse_true_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 4
	#if (VAL &gt;= 4)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0379999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.847</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_ifelse_false_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#define VAL 4
	#if (VAL &gt; 4)
		out0 = 0.0;
	#else
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.488</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.parenthesis_ifelse_false_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#define VAL 4
	#if (VAL &gt; 4)
		out0 = 0.0;
	#else
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0640000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.089</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23403</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_basic_0_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#if -4 + 5 == 1
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3740000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.545999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26219</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_basic_0_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#if -4 + 5 == 1
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.133</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.266</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22947</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_basic_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#if (2 * 2) - 3 &gt;= 0
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.587</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25614</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_basic_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#if (2 * 2) - 3 &gt;= 0
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.149</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2699999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22865</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_simple_precedence_0_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#if 2 * 3 - 3 == 3
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.493</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25000</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_simple_precedence_0_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#if 2 * 3 - 3 == 3
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0499999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2669999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21746</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_simple_precedence_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	#if 2 - 2 / 2 == 1
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.532</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.644</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27053</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.eval_simple_precedence_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	#if 2 - 2 / 2 == 1
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1940000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24317</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define X 0
void main()
{
	#if defined(X)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5030000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.335000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25847</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define X 0
void main()
{
	#if defined(X)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0819999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3089999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22884</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define X 0
#define Y 1
void main()
{
	#if defined(X) == Y
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5030000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.506</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25967</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define X 0
#define Y 1
void main()
{
	#if defined(X) == Y
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.165</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21749</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define X 0
#define Y 1
void main()
{
	#if defined(X) &amp;&amp; defined(Y)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4420000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.51</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25857</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define X 0
#define Y 1
void main()
{
	#if defined(X) &amp;&amp; defined(Y)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0230000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2579999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24156</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define X 0
#define Y 1
#undef X
void main()
{
	#if defined(X) &amp;&amp; defined(Y)
		out0 = 0.0;
	#else
		out0 = 1.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.108000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29028</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define X 0
#define Y 1
#undef X
void main()
{
	#if defined(X) &amp;&amp; defined(Y)
		out0 = 0.0;
	#else
		out0 = 1.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2889999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22810</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_5_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define X 0
#define Y 1
#undef X
void main()
{
	#if defined(X) || defined(Y)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5150000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.518000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25098</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_5_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define X 0
#define Y 1
#undef X
void main()
{
	#if defined(X) || defined(Y)
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9580000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.961</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24393</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_6_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

#define X 0
#define Y 1
#undef Y
void main()
{
	#if defined(X) &amp;&amp; (defined(Y) || (X == 0))
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.391</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.491</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25758</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.expressions.defined_6_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

#define X 0
#define Y 1
#undef Y
void main()
{
	#if defined(X) &amp;&amp; (defined(Y) || (X == 0))
		out0 = 1.0;
	#else
		out0 = 0.0;
	#endif
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1970000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3629999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_unary_expr_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: syntax error, unexpected NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.38100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.074999999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2611</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_unary_expr_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if !
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): preprocessor error: syntax error, unexpected NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19400000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2357</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_binary_expr_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 3+4+
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(9): preprocessor error: syntax error, unexpected NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2269</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_binary_expr_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 3+4+
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(9): preprocessor error: syntax error, unexpected NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2275</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.missing_expr_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #if with no expression
0:4(1): preprocessor error: Unterminated #if

</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.missing_expr_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(1): preprocessor error: #if with no expression
0:4(1): preprocessor error: Unterminated #if

</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2297</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_expr_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 4 4
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(8): preprocessor error: syntax error, unexpected INTEGER_STRING
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2310</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_expr_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 4 4
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(8): preprocessor error: syntax error, unexpected INTEGER_STRING
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2325</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_expr_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 4 * * 4
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(12): preprocessor error: syntax error, unexpected &apos;*&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20899999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2261</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_expr_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 4 * * 4
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(12): preprocessor error: syntax error, unexpected &apos;*&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2288</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_expr_3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if (4)(4)
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(11): preprocessor error: syntax error, unexpected &apos;(&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.20499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2296</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.invalid_expr_3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if (4)(4)
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(11): preprocessor error: syntax error, unexpected &apos;(&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2312</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.unopened_parenthesis_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 4)
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: syntax error, unexpected &apos;)&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.19400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2281</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.unopened_parenthesis_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if 4)
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(7): preprocessor error: syntax error, unexpected &apos;)&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.19600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.unclosed_parenthesis_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if ((4 + 7)
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(13): preprocessor error: syntax error, unexpected NEWLINE
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.28599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.invalid_expressions.unclosed_parenthesis_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
#if ((4 + 7)
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(13): preprocessor error: syntax error, unexpected NEWLINE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2323</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_not_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % ! 0 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3039999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.587999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25768</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_not_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % ! 0 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.02</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2639999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22820</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_not_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / ! 0 ) == 8
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5649999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.964</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27470</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_not_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / ! 0 ) == 8
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.032</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1969999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21985</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_not_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * ! 0 ) == 8
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3439999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.305</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24718</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_not_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * ! 0 ) == 8
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2880000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22097</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_bit_invert_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % ~ 4 ) == 3
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3380000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.475</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24749</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_bit_invert_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % ~ 4 ) == 3
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0379999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3079999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22856</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_minus_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % - 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4550000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.467000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25892</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_minus_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % - 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0470000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2200000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21946</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_plus_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % + 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.473000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26063</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.modulo_vs_plus_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 % + 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.282</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9209999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27237</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_bit_invert_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / ~ 2 ) == -2
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7229999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.388000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_bit_invert_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / ~ 2 ) == -2
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0630000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.379000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33190</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_minus_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / - 2 ) == -4
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.339</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">861.72399900000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">930103</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_minus_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / - 2 ) == -4
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3390000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.025</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25670</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_plus_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / + 2 ) == 4
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.637</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25136</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.div_vs_plus_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 / + 2 ) == 4
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0470000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3569999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22980</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_bit_invert_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * ~ 2 ) == -24
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4940000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.426</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25073</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_bit_invert_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * ~ 2 ) == -24
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.077</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.047000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24829</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_minus_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * - 2 ) == -16
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4900000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.503</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25943</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_minus_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * - 2 ) == -16
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.917</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26305</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_plus_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * + 2 ) == 16
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4260000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.442</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.mul_vs_plus_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 * + 2 ) == 16
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9420000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2629999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21597</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.sub_vs_modulo_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 - 3 % 2 ) == 7
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.462</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25971</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.sub_vs_modulo_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 - 3 % 2 ) == 7
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.83</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24270</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.sub_vs_div_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 - 3 / 2 ) == 7
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4239999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.547000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.sub_vs_div_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 - 3 / 2 ) == 7
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.073</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2989999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22954</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.sub_vs_mul_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 - 3 * 2 ) == 2
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3730000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.48</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25905</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.sub_vs_mul_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 - 3 * 2 ) == 2
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1819999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2579999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24531</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.add_vs_modulo_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 + 3 % 2 ) == 9
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.456</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29140</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.add_vs_modulo_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 + 3 % 2 ) == 9
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.173</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9819999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22506</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.add_vs_div_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 + 3 / 2 ) == 9
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3420000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.598000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.add_vs_div_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 + 3 / 2 ) == 9
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0619999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.880000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26145</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.add_vs_mul_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 + 3 * 2 ) == 14
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4620000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.096</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27380</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.add_vs_mul_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 + 3 * 2 ) == 14
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9710000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3130000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21905</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.rshift_vs_sub_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;&gt; 3 - 2 ) == 4
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5259999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.16</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27682</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.rshift_vs_sub_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;&gt; 3 - 2 ) == 4
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2859999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22194</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.rshift_vs_add_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;&gt; 3 + 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.411</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.468</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25609</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.rshift_vs_add_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;&gt; 3 + 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2189999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21026</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.lshift_vs_sub_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;&lt; 3 - 2 ) == 16
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3500000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.574999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25026</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.lshift_vs_sub_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;&lt; 3 - 2 ) == 16
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2360000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23026</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.lshift_vs_add_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;&lt; 3 + 2 ) == 256
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5489999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.554</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27537</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.lshift_vs_add_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;&lt; 3 + 2 ) == 256
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1779999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2050000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23531</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_or_equal_vs_rshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;= 3 &gt;&gt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.347</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.481</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25677</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_or_equal_vs_rshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;= 3 &gt;&gt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.153</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3219999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22968</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_or_equal_vs_lshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;= 3 &lt;&lt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.556</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.551</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26267</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_or_equal_vs_lshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt;= 3 &lt;&lt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.169</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.298</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23115</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_or_equal_vs_rshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;= 3 &gt;&gt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3410000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.247999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24796</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_or_equal_vs_rshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;= 3 &gt;&gt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0630000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1899999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21833</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_or_equal_vs_lshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;= 3 &lt;&lt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4790000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.603999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24296</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_or_equal_vs_lshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt;= 3 &lt;&lt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.153</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1940000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21943</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_vs_rshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt; 3 &gt;&gt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.411</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.262</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27698</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_vs_rshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt; 3 &gt;&gt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.169</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1920000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20999</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_vs_lshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt; 3 &lt;&lt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3439999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.56</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24998</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.greater_vs_lshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &gt; 3 &lt;&lt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1749999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_vs_rshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt; 3 &gt;&gt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5139999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26038</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_vs_rshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt; 3 &gt;&gt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.076999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.972</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1430000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23392</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_vs_lshift_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt; 3 &lt;&lt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5329999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.457000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25019</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.less_vs_lshift_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &lt; 3 &lt;&lt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0369999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0860000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22750</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_greater_or_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &gt;= 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3580000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25138</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_greater_or_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &gt;= 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.165</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0630000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22896</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_less_or_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &lt;= 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.494999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25957</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_less_or_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &lt;= 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.845000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24843</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_greater_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &gt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4780000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.519</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26101</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_greater_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &gt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0270000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.282</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21976</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_less_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &lt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4649999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.532999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25985</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.not_equal_vs_less_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 != 3 &lt; 2 ) == 1
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1520000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3800000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24586</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_greater_or_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &gt;= 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.359</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.475</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25830</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_greater_or_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &gt;= 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1880000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2240000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21924</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_less_or_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &lt;= 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.476</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.127000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26723</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_less_or_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &lt;= 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0880000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0410000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_greater_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &gt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5499999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.552</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26087</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_greater_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &gt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2189999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22825</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_less_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &lt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.484</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.470000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27571</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.equal_vs_less_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 == 3 &lt; 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9550000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.968</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24530</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.bitwise_and_vs_not_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &amp; 3 != 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.532999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25158</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.bitwise_and_vs_not_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &amp; 3 != 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2270000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.bitwise_and_vs_equal_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &amp; 3 == 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.528</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.497999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25161</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.bitwise_and_vs_equal_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 &amp; 3 == 2 ) == 0
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0409999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2140000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21926</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.xor_vs_bitwise_and_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 ^ 3 &amp; 2 ) == 10
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.521000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25148</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.xor_vs_bitwise_and_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 ^ 3 &amp; 2 ) == 10
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1980000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22667</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.bitwise_or_vs_xor_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 | 3 ^ 2 ) == 9
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3519999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.577999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25883</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.bitwise_or_vs_xor_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 8 | 3 ^ 2 ) == 9
#define VAL 1.0
#else
#define VAL 0.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.885</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26344</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.logical_and_vs_bitwise_or_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 0 &amp;&amp; 3 | 2 )
#define VAL 0.0
#else
#define VAL 1.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4550000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.506</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25967</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.logical_and_vs_bitwise_or_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 0 &amp;&amp; 3 | 2 )
#define VAL 0.0
#else
#define VAL 1.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2170000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21830</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.logical_and_vs_bitwise_and_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 0 &amp;&amp; 4 &amp; 2 )
#define VAL 0.0
#else
#define VAL 1.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.493</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24896</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.logical_and_vs_bitwise_and_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 0 &amp;&amp; 4 &amp; 2 )
#define VAL 0.0
#else
#define VAL 1.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0459999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0250000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22684</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.logical_or_vs_logical_and_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>
#if ( 0 || 4 &amp;&amp; 0 )
#define VAL 0.0
#else
#define VAL 1.0
#endif
	precision mediump float;
	attribute highp vec4 dEQP_Position;
varying float out0;

	void main()
	{
		out0 = VAL;
		gl_Position = dEQP_Position;

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.526</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27514</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.preprocessor.operator_precedence.logical_or_vs_logical_and_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
#if ( 0 || 4 &amp;&amp; 0 )
#define VAL 0.0
#else
#define VAL 1.0
#endif
	precision mediump float;
	bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

	void main()
	{
		out0 = VAL;
		bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

	}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1419999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2520000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22851</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_input_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;

void main()
{
	out0 = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.319</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_input_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;

void main()
{
	out0 = in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8320000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6240000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0950000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70632</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_uniform_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

uniform float uni0;
void main()
{
	out0 = uni0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.359</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.393000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47357</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_uniform_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

uniform float uni0;
void main()
{
	out0 = uni0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0430000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0999999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42297</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_0_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = +1.123;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4209999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.436</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_0_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = +1.123;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.125</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9620000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1720000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23499</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = -1.123;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4809999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.349</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28337</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = -1.123;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3469999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23098</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = 123.;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4220000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.365</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26937</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = 123.;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2400000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22071</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = .123;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4940000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.112</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30713</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = .123;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9940000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2309999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23010</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = 1.23e+2;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4279999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.371</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25903</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = 1.23e+2;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2029999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1809999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24468</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_5_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = -1.23E+2;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.379</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_5_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = -1.23E+2;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2550000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23120</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_6_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = -1.23e2;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5459999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.465</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25226</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_6_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = -1.23e2;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1949999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2059999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22152</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_7_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = 1.23e-1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3740000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.066000000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.129</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27494</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_7_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = 1.23e-1;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0750000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2210000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23042</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_8_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	out0 = 1e3;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.472</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.177</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29272</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.float_8_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = 1e3;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0550000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1720000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21930</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_0_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
int out0;

void main()
{
	out0 = 123;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4500000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.99</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.035</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29173</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_0_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (int a, int b)     { return (a == b); }
uniform int ref_out0;
int out0;

void main()
{
	out0 = 123;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6780000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22663</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
int out0;

void main()
{
	out0 = -321;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.835000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27426</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (int a, int b)     { return (a == b); }
uniform int ref_out0;
int out0;

void main()
{
	out0 = -321;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8690000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0860000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20185</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
int out0;

void main()
{
	out0 = 0x7B;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.981999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25870</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (int a, int b)     { return (a == b); }
uniform int ref_out0;
int out0;

void main()
{
	out0 = 0x7B;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7879999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8609999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20707</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
int out0;

void main()
{
	out0 = 0X7b;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.431</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.68</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25438</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (int a, int b)     { return (a == b); }
uniform int ref_out0;
int out0;

void main()
{
	out0 = 0X7b;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7789999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0670000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21026</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
int out0;

void main()
{
	out0 = 0173;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26416</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.int_4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (int a, int b)     { return (a == b); }
uniform int ref_out0;
int out0;

void main()
{
	out0 = 0173;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7949999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0299999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20924</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.bool_0_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
bool out0;

void main()
{
	out0 = true;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5049999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.784</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7739999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31109</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.bool_0_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (bool a, bool b)   { return (a == b); }
uniform bool ref_out0;
bool out0;

void main()
{
	out0 = true;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.903</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3699999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20193</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.bool_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying float v_out0;
bool out0;

void main()
{
	out0 = false;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6219999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.340999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27122</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.bool_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (bool a, bool b)   { return (a == b); }
uniform bool ref_out0;
bool out0;

void main()
{
	out0 = false;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7709999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.3230000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20133</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_global_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = 1000.0;
void main()
{
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7210000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.353999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25290</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_global_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = 1000.0;
void main()
{
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0600000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1039999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24372</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_main_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
    const float theConstant = -1000.0;
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6920000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.467000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28762</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_main_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
    const float theConstant = -1000.0;
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.173</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2530000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22078</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_function_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

float func()
{
    const float theConstant = -0.012;
	return theConstant;
}
void main()
{
	out0 = func();
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7000000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.422000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28943</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_function_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

float func()
{
    const float theConstant = -0.012;
	return theConstant;
}
void main()
{
	out0 = func();
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4129999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1709999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23275</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6989999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.545999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24400</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.157</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22957</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
    const float theConstant = 100.0;
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.625</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.510999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24421</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
    const float theConstant = 100.0;
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.246</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2210000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22121</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = 100.0;
void main()
{
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6779999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.456</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26739</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = 100.0;
void main()
{
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.206</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3840000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = 100.0;
void main()
{
    const float theConstant = -100.0;
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6520000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.542999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26040</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = 100.0;
void main()
{
    const float theConstant = -100.0;
	{
		 const float theConstant = 1.0;
		 out0 = theConstant;
    }
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2610000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4580000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22686</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = 100.0;
float func()
{
	const float theConstant = 2.0;
	return theConstant;
}
void main()
{
    const float theConstant = -100.0;
	{
		 const float theConstant = 1.0;
		 out0 = func();
    }
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0920000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.510999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30961</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_scope_shawdowing_4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = 100.0;
float func()
{
	const float theConstant = 2.0;
	return theConstant;
}
void main()
{
    const float theConstant = -100.0;
	{
		 const float theConstant = 1.0;
		 out0 = func();
    }
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5489999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3859999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23711</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_operations_with_const_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theGlobalConstant = 10.0;
float func()
{
	const float theConstant = 2.0;
	return theConstant;
}
void main()
{
    const float theConstant = -100.0;
	{
		 const float theConstant = 1.0;
		 out0 = func() * theGlobalConstant + theConstant;
    }
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1619999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.577</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28689</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_operations_with_const_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theGlobalConstant = 10.0;
float func()
{
	const float theConstant = 2.0;
	return theConstant;
}
void main()
{
    const float theConstant = -100.0;
	{
		 const float theConstant = 1.0;
		 out0 = func() * theGlobalConstant + theConstant;
    }
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.641</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2370000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23530</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
    const float theConstant1 = 10.0;
	const float theConstant2 = theConstant1;
	out0 = theConstant2;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.494999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27168</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
    const float theConstant1 = 10.0;
	const float theConstant2 = theConstant1;
	out0 = theConstant2;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2400000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2509999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23137</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
    const float theConstant1 = 10.0;
	{
		const float theConstant2 = theConstant1;
		out0 = theConstant2;
	}
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4540000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.138</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25658</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
    const float theConstant1 = 10.0;
	{
		const float theConstant2 = theConstant1;
		out0 = theConstant2;
	}
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1829999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2680000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22897</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant1 = 10.0;
void main()
{
	const float theConstant2 = theConstant1;
	out0 = theConstant2;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6480000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.491</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25082</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant1 = 10.0;
void main()
{
	const float theConstant2 = theConstant1;
	out0 = theConstant2;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1459999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4220000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22062</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant1 = 10.0;
float func()
{
	const float theConstant2 = theConstant1;
	return theConstant2;
}
void main()
{
	out0 = func();
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6800000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.316000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27931</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assignment_4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant1 = 10.0;
float func()
{
	const float theConstant2 = theConstant1;
	return theConstant2;
}
void main()
{
	out0 = func();
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2770000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3569999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23234</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_uniform_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

uniform float theUniform;
void main()
{
	const float theConstant = theUniform;
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:8(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.917</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4229</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_uniform_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

uniform float theUniform;
void main()
{
	const float theConstant = theUniform;
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:9(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.427</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4702</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_varying" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying float theVarying;
void main()
{
	theVarying = 1.0;
	gl_Position = vec(1.0);
}
</ShaderSource>
        <InfoLog>0:7(16): error: no function with name &apos;vec&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying float theVarying;
void main()
{
	const float theConstant = theVarying;
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:9(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9159999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9630000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = float(10);
void main()
{
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.512</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.420999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27432</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = float(10);
void main()
{
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2370000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2479999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22978</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = vec2(1.0, 10.0).y;
void main()
{
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4060000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.504</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25533</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = vec2(1.0, 10.0).y;
void main()
{
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0870000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3670000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22865</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = vec3(1.0, 10.0, 20.0).y;
void main()
{
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4940000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.173999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27637</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = vec3(1.0, 10.0, 20.0).y;
void main()
{
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.153</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3729999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22166</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

const float theConstant = vec4(1.0, 10.0, 20.0, -10.0).y;
void main()
{
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5710000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.5</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26472</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_from_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

const float theConstant = vec4(1.0, 10.0, 20.0, -10.0).y;
void main()
{
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.27</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3829999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22131</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_variable_1_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	float theVariable = 20.0;
	const float theConstant = theVariable;
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:8(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9790000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4276</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_variable_1_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	float theVariable = 20.0;
	const float theConstant = theVariable;
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:9(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.452</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4788</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_variable_2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

void main()
{
	float theVariable = 20.0;
	theVariable += 30.0;
	const float theConstant = theVariable;
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0899999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4360</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_variable_2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	float theVariable = 20.0;
	theVariable += 30.0;
	const float theConstant = theVariable;
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:10(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4089999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4744</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_user_func_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;

float func()
{
	return 50.0;
}
void main()
{
	const float theConstant = func();
	out0 = theConstant;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.constants.const_float_assign_user_func_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

float func()
{
	return 50.0;
}
void main()
{
	const float theConstant = func();
	out0 = theConstant;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:12(28): error: initializer of const variable `theConstant&apos; must be a constant expression
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4740000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4756</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_1" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
varying mediump float var;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = 1.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.214</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.75</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3260000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26906</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying mediump float var;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2400000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.5880000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.617</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying mediump float var;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump float var;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.10299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9770000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1940000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18588</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog>warning: fragment shader varying var not written by vertex shader
.</InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
uniform bool u_false;

varying mediump float var;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump float var;
uniform bool u_false;
void main()
{
	if (u_false)
		gl_FragColor = vec4(var);
	else
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.403</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.895</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.5419999999999998</Number>
    <Text>WARNING // Uniform &quot;u_false&quot; location is not valid, location = -1. Cannot set value to the uniform.</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23115</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_5" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
uniform bool u_false;

varying mediump float var;
void main()
{
	if (u_false)
		var = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3929999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.7670000000000003</Number>
    <Text>WARNING // Uniform &quot;u_false&quot; location is not valid, location = -1. Cannot set value to the uniform.</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20038</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_6" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
uniform bool u_false;

varying mediump float var;
void main()
{
	if (u_false)
		var = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump float var;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0080000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9900000000000002</Number>
    <Text>WARNING // Uniform &quot;u_false&quot; location is not valid, location = -1. Cannot set value to the uniform.</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">16720</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_7" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
uniform bool u_false;

varying mediump float var;
void main()
{
	if (u_false)
		var = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform bool u_false;

varying mediump float var;
void main()
{
	if (u_false)
		gl_FragColor = vec4(var);
	else
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2549999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8460000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21078</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_float" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute float in0;

varying mediump float var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying float var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.395</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6899999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0670000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53764</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_vec2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute vec2 in0;

varying mediump vec2 var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
uniform vec2 ref_out0;
vec2 out0;

varying vec2 var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3370000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">183.641006</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.114000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1129532</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_vec3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute vec3 in0;

varying mediump vec3 var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
uniform vec3 ref_out0;
vec3 out0;

varying vec3 var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7799999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.057</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_vec4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute vec4 in0;

varying mediump vec4 var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
uniform vec4 ref_out0;
vec4 out0;

varying vec4 var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4809999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8620000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7919999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53977</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_mat2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute mat2 in0;

varying mediump mat2 var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
uniform mat2 ref_out0;
mat2 out0;

varying mat2 var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1840000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.782</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73218</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_mat3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute mat3 in0;

varying mediump mat3 var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
uniform mat3 ref_out0;
mat3 out0;

varying mat3 var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1960000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.614999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58390</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_mat4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute mat4 in0;

varying mediump mat4 var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
uniform mat4 ref_out0;
mat4 out0;

varying mat4 var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1230000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.895</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47010</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_differing_precision_1" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute float in0;

varying highp float var;
void main()
{
	var = in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float var;
void main()
{
	out0 = var;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7440000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.042999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56851</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_differing_precision_2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute float in0;

varying highp vec2 var;
void main()
{
	var = vec2(in0, 2.0*in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying lowp vec2 var;
void main()
{
	out0 = var.y - var.x;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6200000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.661</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.92</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53537</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_differing_precision_3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute float in0;

varying lowp vec4 var;
void main()
{
	var = vec4(in0, 2.0*in0, -in0, -in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump vec4 var;
void main()
{
	out0 = var.x + var.y + var.z + var.w;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4729999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6930000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.755000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55517</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_type_mismatch_2" CaseType="SelfValidate">
    <Text>Expecting program linking to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog>error: vertex shader output `var&apos; declared as type `float&apos;, but fragment shader input declared as type `vec2&apos;
</InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying mediump float var;
void main()
{
	var = 2.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec2 var;
void main()
{
	gl_FragColor = var.xyyx;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3639999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.788</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.8320000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8582</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.invalid_varying_type_int" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying mediump int var;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:3(1): error: varying variables must be of base type float in GLSL ES 1.00
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>varying mediump int var;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:1(1): error: varying variables must be of base type float in GLSL ES 1.00
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.756</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3520000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.invalid_varying_type_bool" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying bool var;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:3(1): error: illegal type for a varying variable
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>varying bool var;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:1(1): error: illegal type for a varying variable
0:1(1): error: fragment shader input cannot have type bool
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7769999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3069999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5331</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.invalid_varying_type_struct" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>attribute highp vec4 dEQP_Position;

varying struct { mediump float foo; } var;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:3(1): error: varying variables may not be of type struct
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>varying struct { mediump float foo; } var;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:1(1): error: varying variables may not be of type struct
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7410000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.278</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5446</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_readback_1" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;

varying float var1;
varying float var2;

void main()
{
	var1 = in0;
	var2 = var1 + in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying float var1;
varying float var2;

void main()
{
	out0 = var1 + var2;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.46</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6030000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5839999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43534</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.varying_writeback_1" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

varying float var1;
varying float var2;

void main()
{
	var1 = in0;
	var2 = var1 + in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(9): error: `in0&apos; undeclared
0:10(16): error: `in0&apos; undeclared
0:10(9): error: operands to arithmetic operators must be numeric
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

varying float var1;
varying float var2;

void main()
{
	var2 = var1;
	out0 = var1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(2): error: assignment to read-only variable &apos;var2&apos;
0:9(2): error: `out0&apos; undeclared
0:9(2): error: value of type float cannot be assigned to variable of type error
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.887</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.573</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5757</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump float a; mediump float b;};
uniform Struct val;
varying mediump float dummy;
void main()
{
	dummy = val.a + val.b;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump float a; mediump float b;};
uniform Struct val;
varying mediump float dummy;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.b + val.a;
	out0 = out0 + dummy;
	out0 = out0 - dummy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4689999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8519999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.076000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29737</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vertex_only" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump float a; mediump float b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a + val.b;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump float a; mediump float b;};
uniform Struct val;
varying mediump float res;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = res;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.512</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7189999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6080000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30114</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_fragment_only" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump float a; mediump float b;};
uniform Struct val;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump float a; mediump float b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.a + val.b;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3879999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7929999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32143</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump float a; mediump float b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump float a; mediump float b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3610000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7999999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.470000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vec4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
varying mediump float dummy;
void main()
{
	dummy = val.a.x + val.b.y;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
varying mediump float dummy;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.b.y + val.a.x;
	out0 = out0 + dummy;
	out0 = out0 - dummy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.431</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.347</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31822</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vertex_only_vec4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x + val.b.y;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
varying mediump float res;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = res;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9260000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8279999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28889</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_fragment_only_vec4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.a.x + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4849999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7639999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.9550000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27399</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec4" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec4 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.577</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7749999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.666</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30087</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vec4_vec3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
varying mediump float dummy;
void main()
{
	dummy = val.a.x + val.b.y;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
varying mediump float dummy;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.b.y + val.a.x;
	out0 = out0 + dummy;
	out0 = out0 - dummy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4500000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.313000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30041</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vertex_only_vec4_vec3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x + val.b.y;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
varying mediump float res;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = res;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5139999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28636</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_fragment_only_vec4_vec3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.a.x + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3809999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9300000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9269999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27580</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec4_vec3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump vec3 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8599999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.699</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30474</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vec4_float" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
varying mediump float dummy;
void main()
{
	dummy = val.a.x + val.b;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
varying mediump float dummy;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.b + val.a.x;
	out0 = out0 + dummy;
	out0 = out0 - dummy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6150000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1909999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32285</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_vertex_only_vec4_float" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x + val.b;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
varying mediump float res;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = res;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.649</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.901999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34801</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_fragment_only_vec4_float" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

void main()
{
	out0 = val.a.x + val.b;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6539999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4159999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5489999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31842</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec4_float" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec4 a; mediump float b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.593</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.448</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.503</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41154</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec4_struct" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Inner {mediump vec4 c;};
struct Struct {mediump vec4 a; Inner b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Inner {mediump vec4 c;};
struct Struct {mediump vec4 a; Inner b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.c.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8889999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4590000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.785</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec4_vec3_struct" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Inner {mediump vec3 c;};
struct Struct {mediump vec4 a; Inner b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Inner {mediump vec3 c;};
struct Struct {mediump vec4 a; Inner b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.c.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6309999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9449999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.382</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33462</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec2_vec3" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec2 a; mediump vec3 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec2 a; mediump vec3 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4750000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8820000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.686</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29169</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_vec2_int" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump vec2 a; mediump int b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump vec2 a; mediump int b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + float(val.b);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4329999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.806</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.904999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_int_float" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump float a; mediump int b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = val.a;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump float a; mediump int b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + float(val.b);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.431</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8170000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.57</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29931</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_bvec2_vec2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {bvec2 a; mediump vec2 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = float(val.a.x);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {bvec2 a; mediump vec2 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7749999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.657</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31795</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_ivec2_vec2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump ivec2 a; mediump vec2 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = vec2(val.a).x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump ivec2 a; mediump vec2 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + val.b.y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6030000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9460000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.103999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29858</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_partial_ivec2_ivec2" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

struct Struct {mediump ivec2 a; mediump ivec2 b;};
uniform Struct val;
varying mediump float res;
void main()
{
	res = vec2(val.a).x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Struct {mediump ivec2 a; mediump ivec2 b;};
uniform Struct val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
	out0 = res + vec2(val.b).y;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5339999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0920000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">568.70202600000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">588601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_use_case_rip" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
    mediump vec3	color;
 highp vec4		position;
 highp vec3		direction;
 mediump float	constantAttenuation;
 mediump float	linearAttenuation;
 mediump float	quadraticAttenuation;
};
attribute highp vec4 dEQP_Position;

uniform Light val;
varying mediump float res;
void main()
{
res = val.constantAttenuation;
gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Light
{
    mediump vec3	color;
 highp vec4		position;
 highp vec3		direction;
 mediump float	constantAttenuation;
 mediump float	linearAttenuation;
 mediump float	quadraticAttenuation;
};
struct Struct {float a;};
uniform Light val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
out0 = res + val.quadraticAttenuation;
bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6070000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.077</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.544</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30976</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.linkage.uniform_struct_use_case_rip_sans_highp" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>struct Light
{
    mediump vec3	color;
 mediump vec4	position;
 mediump vec3	direction;
 mediump float	constantAttenuation;
 mediump float	linearAttenuation;
 mediump float	quadraticAttenuation;
};
attribute highp vec4 dEQP_Position;

uniform Light val;
varying mediump float res;
void main()
{
res = val.constantAttenuation;
gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
struct Light
{
    mediump vec3	color;
 mediump vec4	position;
 mediump vec3	direction;
 mediump float	constantAttenuation;
 mediump float	linearAttenuation;
 mediump float	quadraticAttenuation;
};
struct Struct {float a;};
uniform Light val;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;

varying mediump float res;
void main()
{
out0 = res + val.quadraticAttenuation;
bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.085</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.741</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32046</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void main()
{
	
	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2799999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60630</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.172000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61474</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying float v_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6030000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.753</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64568</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying float in0;
uniform int ref_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.778</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3550000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55921</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying float v_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4809999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.446999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.float_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying float in0;
uniform bool ref_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7909999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2479999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55778</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.int_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float out0;


void main()
{
	int in0 = int(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5499999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.int_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float v_in0;
uniform float ref_out0;
float out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7090000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8900000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.036</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72167</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.int_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void main()
{
	int in0 = int(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.629</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69109</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.int_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9940000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6739999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65251</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.int_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


void main()
{
	int in0 = int(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.528</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.109</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67276</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.int_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7810000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7059999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65146</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.bool_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.625</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.353999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.bool_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float v_in0;
uniform float ref_out0;
float out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.21</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.266999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.bool_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.768000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30887</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.bool_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0009999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3469999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27637</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.bool_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.669</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2439999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28361</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_scalar.bool_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9860000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0760000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6760000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2440000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61761</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.286</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.156000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60212</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec3 out0;


void main()
{
	
	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.496</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.3159999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.428000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64164</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3879999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.031000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58817</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec4 out0;


void main()
{
	
	out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.944000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60913</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = vec4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4220000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.329000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60558</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7650000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.911</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2140000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62263</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5839999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55549</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.988</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.359</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61068</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8159999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8539999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56880</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.734</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9410000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9290000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62012</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9209999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9930000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57443</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6139999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.992</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8599999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61441</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9580000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.81</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57780</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.714</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2450000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6280000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1329147</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8460000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.363</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58525</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9730000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60962</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.float_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9000000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57317</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec2 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.106</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71352</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5059999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.750999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69843</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec3 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5790000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.478999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70914</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.512</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.903</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69319</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec4 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.669</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.272</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71489</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = vec4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4710000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.975</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6850000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.148</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68725</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.891</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8359999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.295</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69940</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0379999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0619999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65796</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = ivec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.477</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72259</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = ivec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9740000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.276999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66598</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.442</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0800000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9749999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66013</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.778</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.974</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68959</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1749999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">784.67999299999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">841128</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = bvec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8610000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">394.36300699999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">845518</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.int_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = bvec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0920000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">327.04998799999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">385883</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec2 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7210000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.112</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1393937</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4620000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.629</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">433535</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec3 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5840000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">2767.0029300000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3186894</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3889999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">275.22601300000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">681282</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec4 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.597</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.037000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">346244</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = vec4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3833.790039</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">3047.6110840000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7940209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9209999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">396.32101399999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1042844</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1747.2430420000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.57</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2221782</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8210000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">353.35199</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">371927</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.98</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">397.24099699999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">772374</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = ivec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.867</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">291.28201300000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">713816</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = ivec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.964</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">2133.7338869999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4312109</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2030.0379640000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">253.15699799999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3522608</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0449999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">110.236</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">531401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8769999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1700.369019</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1985764</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0110000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">715.20800799999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1237813</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = bvec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8450000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">396.77600100000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">415682</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_vector.bool_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = bvec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0129999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.035</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29136</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec2_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float out0;


void main()
{
	
	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7010000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.387</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43905</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec2_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7370000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1519999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46626</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec2_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float v_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6669999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">138.42300399999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">175919</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec2_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec2 in0;
uniform int ref_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8969999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42173</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec2_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float v_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7330000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.539999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44109</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec2_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 in0;
uniform bool ref_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9380000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5280000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41334</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec3_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6030000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.151</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43712</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec3_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.879</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1270000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47557</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec3_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float v_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.840999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46110</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec3_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 in0;
uniform int ref_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.911</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41978</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec3_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float v_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7269999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.356</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44211</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec3_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 in0;
uniform bool ref_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9590000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.839</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42592</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec4_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5960000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44757</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec4_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.821</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7799999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8740000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47190</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec4_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float v_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7280000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.898999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45582</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec4_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 in0;
uniform int ref_out0;
int out0;


void main()
{
	
	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1489999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39879</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec4_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float v_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.378</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43973</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.vec4_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 in0;
uniform bool ref_out0;
bool out0;


void main()
{
	
	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7549999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9390000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec2_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.683</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec2_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 v_in0;
uniform float ref_out0;
float out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8260000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.052</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.195</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48995</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec2_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.778</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.923999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46561</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec2_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec2 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1339999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.593</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42657</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec2_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
bool out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8769999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.506</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec2_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.105</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9239999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec3_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.762</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.824999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46320</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec3_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 v_in0;
uniform float ref_out0;
float out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.6639999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0259999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47121</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec3_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.851</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.944000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45797</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec3_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.125</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42065</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec3_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.915</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.167999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45713</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec3_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9750000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41689</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec4_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.807</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45299</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec4_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 v_in0;
uniform float ref_out0;
float out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.849</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.024</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9280000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49040</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec4_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.806</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45859</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec4_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.137</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5009999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41672</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec4_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6440000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.5</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44676</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.ivec4_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1419999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6029999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44441</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec2_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7280000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.528</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44591</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec2_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 v_in0;
uniform float ref_out0;
float out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.062</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.294</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8030000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42594</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec2_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
int out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8849999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.026</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec2_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec2 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1379999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5779999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43048</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec2_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7589999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.253</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44110</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec2_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.105</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4640000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42284</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec3_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7109999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.574</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44620</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec3_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 v_in0;
uniform float ref_out0;
float out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2559999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.736000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44472</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec3_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8690000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.927</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45152</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec3_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1309999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3309999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41287</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec3_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7879999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.49</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec3_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9950000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4939999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41275</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec4_to_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = float(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7519999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44268</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec4_to_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 v_in0;
uniform float ref_out0;
float out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = float(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.383</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4350000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43014</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec4_to_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = int(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8820000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45024</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec4_to_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = int(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1139999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2650000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41821</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec4_to_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = bool(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8210000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3829999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42941</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_scalar.bvec4_to_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = bool(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9580000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9049999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40996</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	vec3 out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1720000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	vec3 out0 = vec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.944</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4165</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	ivec3 out0 = ivec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	ivec3 out0 = ivec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.879</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4127</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_bvec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	bvec3 out0 = bvec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.976</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4247</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_bvec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	bvec3 out0 = bvec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.867</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4167</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	vec4 out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0379999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4251</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	vec4 out0 = vec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9510000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4139</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	ivec4 out0 = ivec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	ivec4 out0 = ivec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9419999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4145</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_bvec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	bvec4 out0 = bvec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4353</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec2_to_bvec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec2 in0 = vec2(0.0, 0.5);
	bvec4 out0 = bvec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8779999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	vec3 out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4199</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	vec3 out0 = vec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.863</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4126</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	ivec3 out0 = ivec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0379999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4312</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	ivec3 out0 = ivec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.944</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4131</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_bvec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	bvec3 out0 = bvec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4212</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_bvec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	bvec3 out0 = bvec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.931</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4183</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	vec4 out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4309</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	vec4 out0 = vec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.911</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4207</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	ivec4 out0 = ivec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.978</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	ivec4 out0 = ivec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.865</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4145</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_bvec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	bvec4 out0 = bvec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4272</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec2_to_bvec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec2 in0 = ivec2(0, 0);
	bvec4 out0 = bvec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9339999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4140</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec2 in0 = bvec2(true, false);
	vec3 out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.044</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec2 in0 = bvec2(true, false);
	vec3 out0 = vec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9550000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec2 in0 = bvec2(true, false);
	ivec3 out0 = ivec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9950000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4285</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec2 in0 = bvec2(true, false);
	ivec3 out0 = ivec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8759999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4132</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_bvec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec2 in0 = bvec2(true, false);
	bvec3 out0 = bvec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec3&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9650000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4305</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_bvec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec2 in0 = bvec2(true, false);
	bvec3 out0 = bvec3(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec3&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.867</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4128</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec2 in0 = bvec2(true, false);
	vec4 out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0529999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4283</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec2 in0 = bvec2(true, false);
	vec4 out0 = vec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.925</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4188</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec2 in0 = bvec2(true, false);
	ivec4 out0 = ivec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec2 in0 = bvec2(true, false);
	ivec4 out0 = ivec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.865</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4115</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_bvec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec2 in0 = bvec2(true, false);
	bvec4 out0 = bvec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9630000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4282</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec2_to_bvec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec2 in0 = bvec2(true, false);
	bvec4 out0 = bvec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8580000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4116</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec3_to_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec3 in0 = vec3(0.0, 0.5, 0.75);
	vec4 out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec3_to_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec3 in0 = vec3(0.0, 0.5, 0.75);
	vec4 out0 = vec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8839999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec3_to_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec3 in0 = vec3(0.0, 0.5, 0.75);
	ivec4 out0 = ivec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4324</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec3_to_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec3 in0 = vec3(0.0, 0.5, 0.75);
	ivec4 out0 = ivec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.962</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4160</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec3_to_bvec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	vec3 in0 = vec3(0.0, 0.5, 0.75);
	bvec4 out0 = bvec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4365</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.vec3_to_bvec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	vec3 in0 = vec3(0.0, 0.5, 0.75);
	bvec4 out0 = bvec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8879999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4186</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec3_to_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec3 in0 = ivec3(0, 0, 0);
	vec4 out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9830000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4281</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec3_to_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec3 in0 = ivec3(0, 0, 0);
	vec4 out0 = vec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.887</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4197</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec3_to_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec3 in0 = ivec3(0, 0, 0);
	ivec4 out0 = ivec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9970000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4297</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec3_to_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec3 in0 = ivec3(0, 0, 0);
	ivec4 out0 = ivec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9630000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4177</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec3_to_bvec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	ivec3 in0 = ivec3(0, 0, 0);
	bvec4 out0 = bvec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4293</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.ivec3_to_bvec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	ivec3 in0 = ivec3(0, 0, 0);
	bvec4 out0 = bvec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9410000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4169</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec3_to_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec3 in0 = bvec3(true, false, false);
	vec4 out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0579999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4299</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec3_to_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec3 in0 = bvec3(true, false, false);
	vec4 out0 = vec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(14): error: too few components to construct `vec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8779999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4148</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec3_to_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec3 in0 = bvec3(true, false, false);
	ivec4 out0 = ivec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.976</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4230</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec3_to_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec3 in0 = bvec3(true, false, false);
	ivec4 out0 = ivec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `ivec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.879</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4126</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec3_to_bvec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	bvec3 in0 = bvec3(true, false, false);
	bvec4 out0 = bvec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0379999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_illegal.bvec3_to_bvec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	bvec3 in0 = bvec3(true, false, false);
	bvec4 out0 = bvec4(in0);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(15): error: too few components to construct `bvec4&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9590000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4149</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6920000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.138</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = vec4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4380000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.054</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44808</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6629999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.211</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44830</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2610000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.959</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44689</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.196999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.874000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45204</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.694</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.23</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45942</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0049999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7349999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41923</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.381</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46579</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9820000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4960000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40410</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6840000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.35</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45903</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0030000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4169999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41979</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9690000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8160000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45405</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9550000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6829999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42740</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.894</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44088</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0139999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42536</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43811</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec4_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.851</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4049999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41911</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7400000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.084</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48776</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 v_in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = vec4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5960000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44998</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.774</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.539</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46991</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 v_in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6349999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.683</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44861</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6560000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.375</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47065</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5830000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.554</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = ivec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8180000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.238</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45944</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = ivec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.064</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45146</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8199999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.478</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46013</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1440000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9299999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42131</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.895</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.24</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45926</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1429999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7059999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41604</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = bvec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47186</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = bvec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1539999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.509998000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67031</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8119999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.098000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46277</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.084</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43151</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.927</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44635</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec4_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1560000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8160000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41974</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = vec4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7719999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.119</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47817</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 v_in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = vec4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6070000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.335000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45539</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7080000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.411</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47472</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 v_in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3759999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.369</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45161</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.766</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.231999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45242</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4740000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.217000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45862</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = ivec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9129999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.233000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46106</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = ivec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0600000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8209999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.526</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44993</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.044</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6630000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40710</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9159999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.295</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43560</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5850000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41444</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = bvec4(in0);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7949999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.757999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45467</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = bvec4(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42926</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.952999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45235</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1320000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.552</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4202274</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8250000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">74.315002000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">108266</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec4_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0990000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4139999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.601</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.048999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.468</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45051</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5579999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.978999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45502</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4590000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.086</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44722</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.79</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.366</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46657</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.798</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41868</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5840000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.319000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45783</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.048</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5809999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5840000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.919</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45038</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.883</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8510000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42585</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7770000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7349999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.786</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47990</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 v_in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6259999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.874000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46020</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.445</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48241</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6150000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.824</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45755</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.369999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46612</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.077</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.189</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.247</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45110</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.081</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.102</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42961</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9049999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.023</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1469999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.077999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43462</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9039999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.843</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43657</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec3_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1230000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.116</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = vec3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7719999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.256</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47275</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 v_in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = vec3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4769999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.529</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44560</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8279999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.141999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46129</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.75</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.654999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49366</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = ivec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3530000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.074</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49102</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = ivec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8780000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.824</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47751</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9249999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.41</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45714</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1230000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7409999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41711</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = bvec3(in0);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.956</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45568</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = bvec3(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.127</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9769999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8320000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42291</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8660000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.702</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec3_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1909999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6780000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40767</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec2_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.061</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec2_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5489999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.06</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44689</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec2_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.887</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.026</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45992</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec2_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40697</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec2_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.871</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6890000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43912</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec2_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7059999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42794</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec2_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.851</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.262</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47219</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec2_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.593</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.625</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45828</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec2_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.233000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46503</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec2_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.262</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0579999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42512</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec2_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.802</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.869999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44580</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.ivec2_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1339999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0820000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41450</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec2_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = vec2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.758</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.084</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46332</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec2_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 v_in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = vec2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.569</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.285</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec2_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = ivec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.79</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.348000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44564</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec2_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = ivec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1219999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5220000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42489</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec2_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = bvec2(in0);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7770000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7810000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42967</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_to_vector.bvec2_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = bvec2(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.125</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.734</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40955</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.float_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1070000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.181999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80966</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.float_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying float in0;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3929999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.666</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72199</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.float_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8519999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.261998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82197</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.float_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying float in0;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1139999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.818999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68502</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.float_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.77</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5960000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.257000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72190</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.float_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float in0;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8719999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64265</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.int_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying mat4 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = mat4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8090000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.577998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">85191</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.int_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying float v_in0;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = mat4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.6340000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.495999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82283</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.int_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying mat3 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = mat3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8130000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.677</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">88221</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.int_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying float v_in0;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = mat3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.25</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.705998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78947</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.int_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying mat2 out0;


void main()
{
	int in0 = int(a_in0);

	out0 = mat2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.895</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.177999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78522</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.int_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = mat2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9929999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.670999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74092</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.bool_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying mat4 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = mat4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9950000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.492000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46250</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.bool_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying float v_in0;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = mat4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5490000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.968</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43494</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.bool_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying mat3 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = mat3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9340000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.377001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47327</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.bool_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying float v_in0;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = mat3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3600000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.910999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39106</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.bool_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying mat2 out0;


void main()
{
	bool in0 = bool(a_in0);

	out0 = mat2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.968</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.039000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40481</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.bool_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bool in0 = bool(v_in0);

	out0 = mat2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0709999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.959</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34734</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat4_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat4 in0;
varying mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.346001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45980</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat4_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat4 a_in0;
varying mat4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying mat4 in0;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.794</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0019999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.59</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49133</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat4_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat4 in0;
varying mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.875</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.702000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49146</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat4_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat4 a_in0;
varying mat4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying mat4 in0;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2720000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.344000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41070</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat4_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat4 in0;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.843</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.268000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40630</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat4_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat4 a_in0;
varying mat4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying mat4 in0;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.839</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37540</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat3_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat3 in0;
varying mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7970000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.403998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49035</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat3_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat3 a_in0;
varying mat3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying mat3 in0;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9850000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9870000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.552</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57798</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat3_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat3 in0;
varying mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.673</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.337999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48680</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat3_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat3 a_in0;
varying mat3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying mat3 in0;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2169999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.294001000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46432</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat3_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat3 in0;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7730000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.122999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40269</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat3_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat3 a_in0;
varying mat3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying mat3 in0;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9580000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.731000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49762</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat2_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat2 in0;
varying mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7839999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.114999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65872</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat2_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat2 a_in0;
varying mat2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying mat2 in0;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	
	out0 = mat4(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.794</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9540000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.399000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67607</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat2_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat2 in0;
varying mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9060000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.589001000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77325</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat2_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat2 a_in0;
varying mat2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying mat2 in0;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	
	out0 = mat3(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1399999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.468</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61465</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat2_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute mat2 in0;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.771999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57939</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.mat2_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat2 a_in0;
varying mat2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying mat2 in0;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7290000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.492999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57550</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_vec2_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 in1;
varying vec4 out0;


void main()
{
	
	out0 = vec4(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6019999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.975</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47218</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_vec2_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
varying vec2 in1;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = vec4(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.036</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.481</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_vec2_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 in1;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7829999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.159000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48079</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_vec2_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 in0;
varying vec2 in1;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0920000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.599</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46252</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_vec2_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 in1;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7679999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.946999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47155</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_vec2_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 in0;
varying vec2 in1;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.587</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46371</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_bvec2_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute vec2 a_in1;
varying vec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
bvec2 in1 = bvec2(a_in1);

	out0 = vec4(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9620000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.506</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">649876</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_bvec2_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 v_in0;
varying vec2 v_in1;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
bvec2 in1 = bvec2(v_in1);

	out0 = vec4(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0070000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3239999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">339.15798999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">434277</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_bvec2_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute vec2 a_in1;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
bvec2 in1 = bvec2(a_in1);

	out0 = ivec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1110000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.927</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50097</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_bvec2_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
varying vec2 v_in1;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
bvec2 in1 = bvec2(v_in1);

	out0 = ivec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.126</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.335</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.728</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45874</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_bvec2_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute vec2 a_in1;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
bvec2 in1 = bvec2(a_in1);

	out0 = bvec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.887</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.019</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46677</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_bvec2_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
varying vec2 v_in1;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
bvec2 in1 = bvec2(v_in1);

	out0 = bvec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1709999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.537000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
attribute float in3;
varying vec4 out0;


void main()
{
	
	out0 = vec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.919</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63335</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;
attribute float a_in3;
varying float in3;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
	in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
varying float in1;
varying float in2;
varying float in3;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = vec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.133</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1829999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.856999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69637</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
attribute float in3;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.318</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64175</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;
attribute float a_in3;
varying float in3;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
	in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float in0;
varying float in1;
varying float in2;
varying float in3;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2440000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.653</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62350</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
attribute float in3;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9940000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.967000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62087</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_float_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;
attribute float a_in3;
varying float in3;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
	in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float in0;
varying float in1;
varying float in2;
varying float in3;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1139999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.567</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63150</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_int_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);
int in3 = int(a_in3);

	out0 = vec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.122999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77685</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_int_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);
int in3 = int(v_in3 * 1.0025);

	out0 = vec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2410000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.823</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.440999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82686</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_int_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);
int in3 = int(a_in3);

	out0 = ivec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.417</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74314</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_int_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);
int in3 = int(v_in3 * 1.0025);

	out0 = ivec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.023</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6070000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.952000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75806</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_int_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);
int in3 = int(a_in3);

	out0 = bvec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72947</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_int_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);
int in3 = int(v_in3 * 1.0025);

	out0 = bvec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6499999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.325001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76585</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_bool_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);
bool in3 = bool(a_in3);

	out0 = vec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4119999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.701000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36459</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_bool_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);
bool in3 = bool(v_in3);

	out0 = vec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.968</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.695</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39857</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_bool_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);
bool in3 = bool(a_in3);

	out0 = ivec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.493</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37077</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_bool_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);
bool in3 = bool(v_in3);

	out0 = ivec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5529999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.058</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35158</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_bool_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);
bool in3 = bool(a_in3);

	out0 = bvec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.395</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.159000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33754</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_bool_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);
bool in3 = bool(v_in3);

	out0 = bvec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.472</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.638999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34399</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);
bool in3 = bool(a_in3);

	out0 = vec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1110000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.127001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75713</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float in1;
varying float v_in2;
varying float v_in3;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);
bool in3 = bool(v_in3);

	out0 = vec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5099999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.027000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82927</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);
bool in3 = bool(a_in3);

	out0 = ivec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3090000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.244</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74831</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
varying float in1;
varying float v_in2;
varying float v_in3;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);
bool in3 = bool(v_in3);

	out0 = ivec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6469999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.365</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74816</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
attribute float a_in3;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);
bool in3 = bool(a_in3);

	out0 = bvec4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.411</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.960000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73543</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_bool_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
varying float in1;
varying float v_in2;
varying float v_in3;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);
bool in3 = bool(v_in3);

	out0 = bvec4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4550000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.162000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_ivec2_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying vec4 out0;


void main()
{
	ivec2 in1 = ivec2(a_in1);

	out0 = vec4(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.839</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.662000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_ivec2_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
varying vec2 v_in1;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = vec4(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.523999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53017</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_ivec2_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in1 = ivec2(a_in1);

	out0 = ivec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9049999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.218</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_ivec2_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 in0;
varying vec2 v_in1;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = ivec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.128</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0299999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.026999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46993</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_ivec2_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	ivec2 in1 = ivec2(a_in1);

	out0 = bvec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.952</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.095000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48805</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_ivec2_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 in0;
varying vec2 v_in1;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = bvec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1059999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.997999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46634</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bvec2_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying vec4 out0;


void main()
{
	bvec2 in1 = bvec2(a_in1);

	out0 = vec4(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7770000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.305999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49217</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bvec2_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
varying vec2 v_in1;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bvec2 in1 = bvec2(v_in1);

	out0 = vec4(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6840000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.433</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bvec2_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bvec2 in1 = bvec2(a_in1);

	out0 = ivec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.895</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.263999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48333</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bvec2_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 in0;
varying vec2 v_in1;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bvec2 in1 = bvec2(v_in1);

	out0 = ivec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1909999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.654</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45608</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bvec2_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in1 = bvec2(a_in1);

	out0 = bvec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0979999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.907999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46379</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bvec2_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 in0;
varying vec2 v_in1;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in1 = bvec2(v_in1);

	out0 = bvec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.622999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec3_float_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
attribute float in1;
varying vec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = vec4(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8730000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.44</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62978</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec3_float_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 v_in0;
varying float in1;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = vec4(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.823</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.036</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.396000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66471</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec3_float_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
attribute float in1;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = ivec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.113</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.427</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62532</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec3_float_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
varying float in1;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = ivec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1139999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.385999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59871</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec3_float_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
attribute float in1;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = bvec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.112</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60048</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec3_float_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
varying float in1;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = bvec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1930000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.308999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60158</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec3_float_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
attribute float in1;
varying vec4 out0;


void main()
{
	
	out0 = vec4(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8290000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.964</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60849</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec3_float_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
varying float in1;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = vec4(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.835</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.948</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.334</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65816</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec3_float_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
attribute float in1;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9449999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.185</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62584</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec3_float_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 in0;
varying float in1;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	
	out0 = ivec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.891</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.220000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60379</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec3_float_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
attribute float in1;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7749999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.968999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61702</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec3_float_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 in0;
varying float in1;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	
	out0 = bvec4(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0529999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.343</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60030</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_ivec2_int_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
attribute float a_in2;
varying vec4 out0;


void main()
{
	int in0 = int(a_in0);
ivec2 in1 = ivec2(a_in1);
int in2 = int(a_in2);

	out0 = vec4(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2650000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.516999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74692</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_ivec2_int_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying vec2 v_in1;
varying float v_in2;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
ivec2 in1 = ivec2(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = vec4(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0659999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5379999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.608999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81327</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_ivec2_int_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
attribute float a_in2;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	int in0 = int(a_in0);
ivec2 in1 = ivec2(a_in1);
int in2 = int(a_in2);

	out0 = ivec4(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0510000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.839</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74131</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_ivec2_int_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
varying vec2 v_in1;
varying float v_in2;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
ivec2 in1 = ivec2(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = ivec4(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.054</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73675</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_ivec2_int_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
attribute float a_in2;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	int in0 = int(a_in0);
ivec2 in1 = ivec2(a_in1);
int in2 = int(a_in2);

	out0 = bvec4(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.943</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73198</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_ivec2_int_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
varying vec2 v_in1;
varying float v_in2;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
ivec2 in1 = ivec2(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = bvec4(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5089999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.538</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73451</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute vec2 a_in2;
varying vec4 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in2 = ivec2(a_in2);

	out0 = vec4(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0369999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.294</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66029</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute vec2 a_in2;
varying vec2 v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float in1;
varying vec2 v_in2;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in2 = ivec2(v_in2 * 1.0025);

	out0 = vec4(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0910000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4199999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.795</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70113</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute vec2 a_in2;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in2 = ivec2(a_in2);

	out0 = ivec4(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9660000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.789</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62382</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute vec2 a_in2;
varying vec2 v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying float v_in0;
varying float in1;
varying vec2 v_in2;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in2 = ivec2(v_in2 * 1.0025);

	out0 = ivec4(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.127</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.696999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61932</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute vec2 a_in2;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in2 = ivec2(a_in2);

	out0 = bvec4(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1840000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.601000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_ivec2_to_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute vec2 a_in2;
varying vec2 v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying float v_in0;
varying float in1;
varying vec2 v_in2;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in2 = ivec2(v_in2 * 1.0025);

	out0 = bvec4(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.298</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.708</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62911</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
varying vec3 out0;


void main()
{
	
	out0 = vec3(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9329999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.077999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">361713</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
varying float in1;
varying float in2;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = vec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2160000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.023001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82147</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.923</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.722</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67937</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float in0;
varying float in1;
varying float in2;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	
	out0 = ivec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.036999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2850000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.004999000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67102</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8959999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.516999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61220</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_float_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float in0;
varying float in1;
varying float in2;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	
	out0 = bvec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0169999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.493</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59883</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
varying vec3 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);

	out0 = vec3(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.509</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74988</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = vec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9019999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5379999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.187999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);

	out0 = ivec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2410000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.868</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73580</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = ivec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.129</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5339999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.99</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73147</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);

	out0 = bvec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1080000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.739000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72201</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_int_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = bvec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4009999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.292999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72773</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
varying vec3 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);

	out0 = vec3(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2069999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.183999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);

	out0 = vec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0170000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.337</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);

	out0 = ivec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.347</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37582</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);

	out0 = ivec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8439999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.582000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36452</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);

	out0 = bvec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.095000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_bool_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);

	out0 = bvec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5529999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.025</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32786</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
varying vec3 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);

	out0 = vec3(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8279999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.180999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float in1;
varying float v_in2;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);

	out0 = vec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.069</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5059999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.394</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80706</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);

	out0 = ivec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71616</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float v_in0;
varying float in1;
varying float v_in2;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);

	out0 = ivec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.126</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.367000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72168</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);

	out0 = bvec3(in0, in1, in2);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0449999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.701000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_float_int_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float v_in0;
varying float in1;
varying float v_in2;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);

	out0 = bvec3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2799999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.563000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71236</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bool_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute float a_in1;
varying vec3 out0;


void main()
{
	bool in1 = bool(a_in1);

	out0 = vec3(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.499000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49059</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bool_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
varying float v_in1;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bool in1 = bool(v_in1);

	out0 = vec3(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0259999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1589999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.554</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50982</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bool_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute float a_in1;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bool in1 = bool(a_in1);

	out0 = ivec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9060000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.117000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47621</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bool_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec2 in0;
varying float v_in1;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bool in1 = bool(v_in1);

	out0 = ivec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0880000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.331</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44089</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bool_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute float a_in1;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bool in1 = bool(a_in1);

	out0 = bvec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.154</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46330</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.vec2_bool_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec2 in0;
varying float v_in1;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bool in1 = bool(v_in1);

	out0 = bvec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.17000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9830000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.269</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43990</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_float_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute float in1;
varying vec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = vec3(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.851</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.305</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61403</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_float_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 v_in0;
varying float in1;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = vec3(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.956</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2320000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.394</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65982</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_float_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute float in1;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = ivec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.395</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62828</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_float_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec2 v_in0;
varying float in1;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = ivec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1800000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.365</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60642</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_float_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute float in1;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = bvec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7869999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.010999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59996</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_float_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec2 v_in0;
varying float in1;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = bvec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0579999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.269</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58205</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_int_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute float a_in1;
varying vec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
int in1 = int(a_in1);

	out0 = vec3(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.972</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.894</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73668</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_int_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 v_in0;
varying float v_in1;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
int in1 = int(v_in1 * 1.0025);

	out0 = vec3(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.958</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.276</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80899</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_int_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute float a_in1;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
int in1 = int(a_in1);

	out0 = ivec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0169999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.467000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72516</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_int_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec2 v_in0;
varying float v_in1;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
int in1 = int(v_in1 * 1.0025);

	out0 = ivec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2570000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.811999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69847</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_int_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute float a_in1;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
int in1 = int(a_in1);

	out0 = bvec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.141</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.134</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70397</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bvec2_int_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec2 v_in0;
varying float v_in1;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
int in1 = int(v_in1 * 1.0025);

	out0 = bvec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.723000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69921</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_ivec2_to_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
varying vec3 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in1 = ivec2(a_in1);

	out0 = vec3(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8660000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.853999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_ivec2_to_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying vec2 v_in1;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = vec3(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.728</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.391</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.273</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52570</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_ivec2_to_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in1 = ivec2(a_in1);

	out0 = ivec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0089999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.327999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_ivec2_to_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying float v_in0;
varying vec2 v_in1;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = ivec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2370000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.722</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45633</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_ivec2_to_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in1 = ivec2(a_in1);

	out0 = bvec3(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.879</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.236000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46613</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_ivec2_to_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying float v_in0;
varying vec2 v_in1;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = bvec3(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1349999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.753</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46834</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
varying vec2 out0;


void main()
{
	
	out0 = vec2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.597</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.922000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62104</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
varying float in1;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = vec2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.79</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.706</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65612</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8119999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.089</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61103</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float in0;
varying float in1;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	
	out0 = ivec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.875999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58332</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.742</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.787000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59415</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_float_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float in0;
varying float in1;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	
	out0 = bvec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0640000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.952999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);

	out0 = vec2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8079999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.489000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71420</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);

	out0 = vec2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.905</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.407</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.333</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76413</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);

	out0 = ivec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.964</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69581</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);

	out0 = ivec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.117</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.324999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68816</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);

	out0 = bvec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9540000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.888999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_int_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);

	out0 = bvec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.226</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.795</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);

	out0 = vec2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7850000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.234999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33315</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);

	out0 = vec2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6120000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.862</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34900</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);

	out0 = ivec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.164999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31016</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);

	out0 = ivec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2709999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.141999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29154</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);

	out0 = bvec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.785</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30776</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.bool_bool_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);

	out0 = bvec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1899999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.936999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_int_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float a_in1;
varying vec2 out0;


void main()
{
	int in1 = int(a_in1);

	out0 = vec2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6619999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.478</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72955</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_int_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
varying float v_in1;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	int in1 = int(v_in1 * 1.0025);

	out0 = vec2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7769999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1440000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.622999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78822</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_int_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float a_in1;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	int in1 = int(a_in1);

	out0 = ivec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.019</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70585</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_int_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float in0;
varying float v_in1;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	int in1 = int(v_in1 * 1.0025);

	out0 = ivec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1110000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.227</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68771</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_int_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float a_in1;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	int in1 = int(a_in1);

	out0 = bvec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8570000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.843999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70247</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_int_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float in0;
varying float v_in1;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	int in1 = int(v_in1 * 1.0025);

	out0 = bvec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.333</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69114</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_bool_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float a_in1;
varying vec2 out0;


void main()
{
	bool in1 = bool(a_in1);

	out0 = vec2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7170000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.135</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61659</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_bool_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float in0;
varying float v_in1;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	bool in1 = bool(v_in1);

	out0 = vec2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4849999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.484999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_bool_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float a_in1;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	bool in1 = bool(a_in1);

	out0 = ivec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.903</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.109</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59925</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_bool_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float in0;
varying float v_in1;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	bool in1 = bool(v_in1);

	out0 = ivec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.081</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.134</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60525</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_bool_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float a_in1;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bool in1 = bool(a_in1);

	out0 = bvec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7709999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.692</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58376</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.float_bool_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float in0;
varying float v_in1;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bool in1 = bool(v_in1);

	out0 = bvec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.919</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58613</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_bool_to_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 out0;


void main()
{
	int in0 = int(a_in0);
bool in1 = bool(a_in1);

	out0 = vec2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.606</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72834</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_bool_to_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying float v_in0;
varying float v_in1;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
bool in1 = bool(v_in1);

	out0 = vec2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7490000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.456</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73469</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_bool_to_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	int in0 = int(a_in0);
bool in1 = bool(a_in1);

	out0 = ivec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.069000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69557</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_bool_to_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
bool in1 = bool(v_in1);

	out0 = ivec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2050000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.385</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68795</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_bool_to_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	int in0 = int(a_in0);
bool in1 = bool(a_in1);

	out0 = bvec2(in0, in1);
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.936999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72915</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.vector_combine.int_bool_to_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying float v_in0;
varying float v_in1;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
bool in1 = bool(v_in1);

	out0 = bvec2(in0, in1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1499999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.289999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70210</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_vec2_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 in1;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9009999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.707999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50994</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_vec2_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying vec2 in0;
varying vec2 in1;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.746</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">429.40499899999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">463392</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bvec2_bvec2_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
attribute vec2 a_in1;
varying mat2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);
bvec2 in1 = bvec2(a_in1);

	out0 = mat2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.257000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52789</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bvec2_bvec2_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying vec2 v_in0;
varying vec2 v_in1;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);
bvec2 in1 = bvec2(v_in1);

	out0 = mat2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1360000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.624000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49217</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.float_float_float_float_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute float in1;
attribute float in2;
attribute float in3;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9420000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.749001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67745</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.float_float_float_float_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float in2;
attribute float a_in3;
varying float in3;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
	in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float in0;
varying float in1;
varying float in2;
varying float in3;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9300000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">168.975998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">218095</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.int_int_int_int_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying mat2 out0;


void main()
{
	int in0 = int(a_in0);
int in1 = int(a_in1);
int in2 = int(a_in2);
int in3 = int(a_in3);

	out0 = mat2(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4420000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.775998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81149</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.int_int_int_int_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
int in1 = int(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);
int in3 = int(v_in3 * 1.0025);

	out0 = mat2(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.532</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.434999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81729</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_bool_bool_bool_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float a_in1;
attribute float a_in2;
attribute float a_in3;
varying mat2 out0;


void main()
{
	bool in0 = bool(a_in0);
bool in1 = bool(a_in1);
bool in2 = bool(a_in2);
bool in3 = bool(a_in3);

	out0 = mat2(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2759999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.780999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43459</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_bool_bool_bool_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float v_in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
varying float v_in1;
varying float v_in2;
varying float v_in3;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bool in0 = bool(v_in0);
bool in1 = bool(v_in1);
bool in2 = bool(v_in2);
bool in3 = bool(v_in3);

	out0 = mat2(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3929999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.806999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39198</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_float_int_bool_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
attribute float a_in3;
varying mat2 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);
bool in3 = bool(a_in3);

	out0 = mat2(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1150000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.624001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81176</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_float_int_bool_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;
attribute float a_in3;
varying float v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
varying float in1;
varying float v_in2;
varying float v_in3;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);
bool in3 = bool(v_in3);

	out0 = mat2(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.327</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.289000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80541</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_ivec2_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying mat2 out0;


void main()
{
	ivec2 in1 = ivec2(a_in1);

	out0 = mat2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8359999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.959999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_ivec2_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying vec2 in0;
varying vec2 v_in1;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	ivec2 in1 = ivec2(v_in1 * 1.0025);

	out0 = mat2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.906000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50594</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_bvec2_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
varying mat2 out0;


void main()
{
	bvec2 in1 = bvec2(a_in1);

	out0 = mat2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.802</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.049999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52952</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_bvec2_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying vec2 in0;
varying vec2 v_in1;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bvec2 in1 = bvec2(v_in1);

	out0 = mat2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.923</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.478999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50754</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bvec3_float_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
attribute float in1;
varying mat2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = mat2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7669999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.193999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69721</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bvec3_float_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying vec3 v_in0;
varying float in1;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = mat2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0069999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.94</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec3_float_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
attribute float in1;
varying mat2 out0;


void main()
{
	
	out0 = mat2(in0, in1);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6230000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.934000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec3_float_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;
attribute float a_in1;
varying float in1;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying vec3 in0;
varying float in1;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	
	out0 = mat2(in0, in1);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.422000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64118</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.int_ivec2_int_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
attribute float a_in2;
varying mat2 out0;


void main()
{
	int in0 = int(a_in0);
ivec2 in1 = ivec2(a_in1);
int in2 = int(a_in2);

	out0 = mat2(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1040000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.629000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81550</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.int_ivec2_int_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;
attribute float a_in2;
varying float v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
varying vec2 v_in1;
varying float v_in2;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	int in0 = int(v_in0 * 1.0025);
ivec2 in1 = ivec2(v_in1 * 1.0025);
int in2 = int(v_in2 * 1.0025);

	out0 = mat2(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3070000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.43</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79913</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_float_ivec2_to_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute vec2 a_in2;
varying mat2 out0;


void main()
{
	bool in0 = bool(a_in0);
ivec2 in2 = ivec2(a_in2);

	out0 = mat2(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.048</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.558001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70454</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_float_ivec2_to_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute vec2 a_in2;
varying vec2 v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying float v_in0;
varying float in1;
varying vec2 v_in2;
uniform mat2 ref_out0;
mat2 out0;


void main()
{
	bool in0 = bool(v_in0);
ivec2 in2 = ivec2(v_in2 * 1.0025);

	out0 = mat2(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2880000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.690000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67839</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec3_vec3_vec3_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
attribute vec3 in1;
attribute vec3 in2;
varying mat3 out0;


void main()
{
	
	out0 = mat3(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7829999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.417998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61268</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec3_vec3_vec3_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;
attribute vec3 a_in1;
varying vec3 in1;
attribute vec3 a_in2;
varying vec3 in2;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying vec3 in0;
varying vec3 in1;
varying vec3 in2;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	
	out0 = mat3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.077</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58761</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.ivec3_ivec3_ivec3_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
attribute vec3 a_in1;
attribute vec3 a_in2;
varying mat3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);
ivec3 in1 = ivec3(a_in1);
ivec3 in2 = ivec3(a_in2);

	out0 = mat3(in0, in1, in2);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3090000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.202000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.ivec3_ivec3_ivec3_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;
attribute vec3 a_in1;
varying vec3 v_in1;
attribute vec3 a_in2;
varying vec3 v_in2;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying vec3 v_in0;
varying vec3 v_in1;
varying vec3 v_in2;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);
ivec3 in1 = ivec3(v_in1 * 1.0025);
ivec3 in2 = ivec3(v_in2 * 1.0025);

	out0 = mat3(in0, in1, in2);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0070000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2389999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.115998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62787</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_ivec2_float_float_int_bool_bool_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
attribute vec2 a_in1;
attribute float in2;
attribute float in3;
attribute float a_in4;
attribute float a_in5;
attribute float a_in6;
varying mat3 out0;


void main()
{
	ivec2 in1 = ivec2(a_in1);
int in4 = int(a_in4);
bool in5 = bool(a_in5);
bool in6 = bool(a_in6);

	out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.584000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">96414</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec2_ivec2_float_float_int_bool_bool_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;
attribute vec2 a_in1;
varying vec2 v_in1;
attribute float a_in2;
varying float in2;
attribute float a_in3;
varying float in3;
attribute float a_in4;
varying float v_in4;
attribute float a_in5;
varying float v_in5;
attribute float a_in6;
varying float v_in6;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
	in2 = a_in2;
	in3 = a_in3;
	v_in4 = a_in4;
	v_in5 = a_in5;
	v_in6 = a_in6;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying vec2 in0;
varying vec2 v_in1;
varying float in2;
varying float in3;
varying float v_in4;
varying float v_in5;
varying float v_in6;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	ivec2 in1 = ivec2(v_in1 * 1.0025);
int in4 = int(v_in4 * 1.0025);
bool in5 = bool(v_in5);
bool in6 = bool(v_in6);

	out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2429999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.6950000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.533000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">99217</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_float_int_vec2_bool_bvec2_float_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute float in1;
attribute float a_in2;
attribute vec2 in3;
attribute float a_in4;
attribute vec2 a_in5;
attribute float in6;
varying mat3 out0;


void main()
{
	bool in0 = bool(a_in0);
int in2 = int(a_in2);
bool in4 = bool(a_in4);
bvec2 in5 = bvec2(a_in5);

	out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6520000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.797999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">95006</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_float_int_vec2_bool_bvec2_float_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute float a_in1;
varying float in1;
attribute float a_in2;
varying float v_in2;
attribute vec2 a_in3;
varying vec2 in3;
attribute float a_in4;
varying float v_in4;
attribute vec2 a_in5;
varying vec2 v_in5;
attribute float a_in6;
varying float in6;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	in1 = a_in1;
	v_in2 = a_in2;
	in3 = a_in3;
	v_in4 = a_in4;
	v_in5 = a_in5;
	in6 = a_in6;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying float v_in0;
varying float in1;
varying float v_in2;
varying vec2 in3;
varying float v_in4;
varying vec2 v_in5;
varying float in6;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	bool in0 = bool(v_in0);
int in2 = int(v_in2 * 1.0025);
bool in4 = bool(v_in4);
bvec2 in5 = bvec2(v_in5);

	out0 = mat3(in0, in1, in2, in3, in4, in5, in6);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5529999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.7629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.774999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">96635</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_bvec2_int_vec4_bool_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
attribute vec2 a_in1;
attribute float a_in2;
attribute vec4 in3;
attribute float a_in4;
varying mat3 out0;


void main()
{
	bool in0 = bool(a_in0);
bvec2 in1 = bvec2(a_in1);
int in2 = int(a_in2);
bool in4 = bool(a_in4);

	out0 = mat3(in0, in1, in2, in3, in4);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5259999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.960999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">93340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bool_bvec2_int_vec4_bool_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;
attribute vec2 a_in1;
varying vec2 v_in1;
attribute float a_in2;
varying float v_in2;
attribute vec4 a_in3;
varying vec4 in3;
attribute float a_in4;
varying float v_in4;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	in3 = a_in3;
	v_in4 = a_in4;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying float v_in0;
varying vec2 v_in1;
varying float v_in2;
varying vec4 in3;
varying float v_in4;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	bool in0 = bool(v_in0);
bvec2 in1 = bvec2(v_in1);
int in2 = int(v_in2 * 1.0025);
bool in4 = bool(v_in4);

	out0 = mat3(in0, in1, in2, in3, in4);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0249999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4349999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.329000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">92912</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.float_bvec4_ivec2_bool_bool_to_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute vec4 a_in1;
attribute vec2 a_in2;
attribute float a_in3;
attribute float a_in4;
varying mat3 out0;


void main()
{
	bvec4 in1 = bvec4(a_in1);
ivec2 in2 = ivec2(a_in2);
bool in3 = bool(a_in3);
bool in4 = bool(a_in4);

	out0 = mat3(in0, in1, in2, in3, in4);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5249999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.829000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">85442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.float_bvec4_ivec2_bool_bool_to_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute vec4 a_in1;
varying vec4 v_in1;
attribute vec2 a_in2;
varying vec2 v_in2;
attribute float a_in3;
varying float v_in3;
attribute float a_in4;
varying float v_in4;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
	v_in4 = a_in4;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying float in0;
varying vec4 v_in1;
varying vec2 v_in2;
varying float v_in3;
varying float v_in4;
uniform mat3 ref_out0;
mat3 out0;


void main()
{
	bvec4 in1 = bvec4(v_in1);
ivec2 in2 = ivec2(v_in2 * 1.0025);
bool in3 = bool(v_in3);
bool in4 = bool(v_in4);

	out0 = mat3(in0, in1, in2, in3, in4);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2559999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4850000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.885999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84057</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec4_vec4_vec4_vec4_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
attribute vec4 in1;
attribute vec4 in2;
attribute vec4 in3;
varying mat4 out0;


void main()
{
	
	out0 = mat4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9950000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.200001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59660</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.vec4_vec4_vec4_vec4_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;
attribute vec4 a_in1;
varying vec4 in1;
attribute vec4 a_in2;
varying vec4 in2;
attribute vec4 a_in3;
varying vec4 in3;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	in1 = a_in1;
	in2 = a_in2;
	in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying vec4 in0;
varying vec4 in1;
varying vec4 in2;
varying vec4 in3;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	
	out0 = mat4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.246</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0739999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.355</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63715</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.ivec4_ivec4_ivec4_ivec4_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
attribute vec4 a_in1;
attribute vec4 a_in2;
attribute vec4 a_in3;
varying mat4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);
ivec4 in1 = ivec4(a_in1);
ivec4 in2 = ivec4(a_in2);
ivec4 in3 = ivec4(a_in3);

	out0 = mat4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.125999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70407</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.ivec4_ivec4_ivec4_ivec4_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;
attribute vec4 a_in1;
varying vec4 v_in1;
attribute vec4 a_in2;
varying vec4 v_in2;
attribute vec4 a_in3;
varying vec4 v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying vec4 v_in0;
varying vec4 v_in1;
varying vec4 v_in2;
varying vec4 v_in3;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);
ivec4 in1 = ivec4(v_in1 * 1.0025);
ivec4 in2 = ivec4(v_in2 * 1.0025);
ivec4 in3 = ivec4(v_in3 * 1.0025);

	out0 = mat4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1429999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.7910000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.959999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bvec4_bvec4_bvec4_bvec4_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
attribute vec4 a_in1;
attribute vec4 a_in2;
attribute vec4 a_in3;
varying mat4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);
bvec4 in1 = bvec4(a_in1);
bvec4 in2 = bvec4(a_in2);
bvec4 in3 = bvec4(a_in3);

	out0 = mat4(in0, in1, in2, in3);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4169999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.895</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65416</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.bvec4_bvec4_bvec4_bvec4_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;
attribute vec4 a_in1;
varying vec4 v_in1;
attribute vec4 a_in2;
varying vec4 v_in2;
attribute vec4 a_in3;
varying vec4 v_in3;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	v_in3 = a_in3;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying vec4 v_in0;
varying vec4 v_in1;
varying vec4 v_in2;
varying vec4 v_in3;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);
bvec4 in1 = bvec4(v_in1);
bvec4 in2 = bvec4(v_in2);
bvec4 in3 = bvec4(v_in3);

	out0 = mat4(in0, in1, in2, in3);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.9989999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.013999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57636</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;
attribute float in0;
attribute vec3 a_in1;
attribute vec3 a_in2;
attribute vec4 in3;
attribute vec2 a_in4;
attribute float in5;
attribute vec2 in6;
varying mat4 out0;


void main()
{
	ivec3 in1 = ivec3(a_in1);
bvec3 in2 = bvec3(a_in2);
ivec2 in4 = ivec2(a_in4);

	out0 = mat4(in0, in1, in2, in3, in4, in5, in6);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.625</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.364999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">86638</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conversions.matrix_combine.float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;
attribute vec3 a_in1;
varying vec3 v_in1;
attribute vec3 a_in2;
varying vec3 v_in2;
attribute vec4 a_in3;
varying vec4 in3;
attribute vec2 a_in4;
varying vec2 v_in4;
attribute float a_in5;
varying float in5;
attribute vec2 a_in6;
varying vec2 in6;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
	v_in1 = a_in1;
	v_in2 = a_in2;
	in3 = a_in3;
	v_in4 = a_in4;
	in5 = a_in5;
	in6 = a_in6;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying float in0;
varying vec3 v_in1;
varying vec3 v_in2;
varying vec4 in3;
varying vec2 v_in4;
varying float in5;
varying vec2 in6;
uniform mat4 ref_out0;
mat4 out0;


void main()
{
	ivec3 in1 = ivec3(v_in1 * 1.0025);
bvec3 in2 = bvec3(v_in2);
ivec2 in4 = ivec2(v_in4 * 1.0025);

	out0 = mat4(in0, in1, in2, in3, in4, in5, in6);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4780000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.8920000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.558001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">92763</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.single_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;

void main()
{
	out0 = 0.0;
	if (in0 &gt;= 1.0)
		out0 = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5089999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.718</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36408</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.single_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;

void main()
{
	out0 = 0.0;
	if (in0 &gt;= 1.0)
		out0 = 1.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2909999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36723</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.compound_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;
varying float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (in0 &gt;= 1.0)
	{
		out0 = 1.0;
		out1 = 0.0;
	}
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;
varying float out1;
uniform float ref_out1;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7309999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.3650000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.487</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45130</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.compound_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;
uniform float ref_out1;
float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (in0 &gt;= 1.0)
	{
		out0 = 1.0;
		out1 = 0.0;
	}
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5840000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.861000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41553</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.sequence_statements_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;
varying float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (in0 &gt;= 1.0)
		out0 = 1.0, out1 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;
varying float out1;
uniform float ref_out1;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.731000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41375</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.sequence_statements_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;
uniform float ref_out1;
float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (in0 &gt;= 1.0)
		out0 = 1.0, out1 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.605</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.742000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40374</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.sequence_condition_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;
varying float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (false, in0 &gt;= 1.0)
		out0 = 1.0, out1 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(6): warning: left-hand operand of comma expression has no effect
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;
varying float out1;
uniform float ref_out1;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8119999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.673999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41287</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.sequence_condition_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;
uniform float ref_out1;
float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (false, in0 &gt;= 1.0)
		out0 = 1.0, out1 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:13(6): warning: left-hand operand of comma expression has no effect
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7400000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.542</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41259</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.complex_condition_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;
varying float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (false || (in0 &gt;= 1.0) &amp;&amp; (in0 - 2.0*in0 &lt; 0.0))
		out0 = 1.0, out1 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;
varying float out1;
uniform float ref_out1;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9049999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.014999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43162</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.complex_condition_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;
uniform float ref_out1;
float out1;

void main()
{
	out0 = 0.0;
	out1 = 1.0;
	if (false || (in0 &gt;= 1.0) &amp;&amp; (in0 - 2.0*in0 &lt; 0.0))
		out0 = 1.0, out1 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
RES = RES &amp;&amp; isOk(out1, ref_out1, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7559999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.917000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42269</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.if_else_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;

void main()
{
	if (in0 &gt;= 1.0)
		out0 = 1.0;
	else
		out0 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6459999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.801</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35727</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.if_else_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;

void main()
{
	if (in0 &gt;= 1.0)
		out0 = 1.0;
	else
		out0 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.121</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.696</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35507</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.if_elseif_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;

void main()
{
	out0 = 0.0;
	if (in0 &gt;= 2.0)
		out0 = 2.0;
	else if (in0 &gt;= 1.0)
		out0 = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7130000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.801</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.if_elseif_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;

void main()
{
	out0 = 0.0;
	if (in0 &gt;= 2.0)
		out0 = 2.0;
	else if (in0 &gt;= 1.0)
		out0 = 1.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3039999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.794</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37390</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.if_elseif_else_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;

void main()
{
	if (in0 &gt;= 2.0)
		out0 = 2.0;
	else if (in0 &gt;= 1.0)
		out0 = 1.0;
	else
		out0 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6030000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.968</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36313</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.if_elseif_else_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;

void main()
{
	if (in0 &gt;= 2.0)
		out0 = 2.0;
	else if (in0 &gt;= 1.0)
		out0 = 1.0;
	else
		out0 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3300000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.778</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.mixed_if_elseif_else_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;

void main()
{
	if (in0 &gt;= 2.0)
	{
		out0 = 2.0;
	}
	else if (in0 &gt;= 1.0)
		out0 = 2.0, out0 = 1.0;
	else
		out0 = 0.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.927</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.976000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37625</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.mixed_if_elseif_else_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;

void main()
{
	if (in0 &gt;= 2.0)
	{
		out0 = 2.0;
	}
	else if (in0 &gt;= 1.0)
		out0 = 2.0, out0 = 1.0;
	else
		out0 = 0.0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3959999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.894</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37129</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.constant_conditional_assignment_to_matrix" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>// This variant doesn&apos;t provoke the crash seen in the versions below.
attribute highp vec4 dEQP_Position;

varying mediump float FragVarying;
const float in0 = 0.0;
void main()
{
mat2 projectionMatrix = mat2(0.0, 0.0, 0.0, 0.0);
if (in0 == 1.0)
{
projectionMatrix[0][0] = 1.0;
}

FragVarying = 1.0;
gl_Position = dEQP_Position + vec4(projectionMatrix[1][0], 0.0, 0.0, 0.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
varying float FragVarying;
void main()
{
	gl_FragColor = vec4(FragVarying, 1.0, 1.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8160000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.5880000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.input_conditional_assignment_to_matrix" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
attribute float in0;

varying mediump float FragVarying;  // Necessary to reproduce.
void main()
{
	// Crashes with mat4 as well. Does not crash with vectors.
	mat2 projectionMatrix = mat2(0.0, 0.0, 0.0, 0.0);
	// Testing a non-constant variable is necessary.
	if (in0 == 1.0)
	{
		// Using the matrix variable appears necessary.
		projectionMatrix[0][0] = 1.0;
	}

	FragVarying = 1.0;
	// Referencing the matrix is necessary though clearly the compiler
	// doesn&apos;t realize the assignment is useless.
	gl_Position = dEQP_Position + vec4(projectionMatrix[1][0], 0.0, 0.0, 0.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
varying float FragVarying;
void main()
{
	gl_FragColor = vec4(FragVarying, 1.0, 1.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9550000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.634</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29773</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.if.uniform_conditional_assignment_to_matrix" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;
uniform float uni0;

varying mediump float FragVarying;  // Necessary to reproduce.
void main()
{
	// Crashes with mat4 as well. Does not crash with vectors.
	mat2 projectionMatrix = mat2(0.0, 0.0, 0.0, 0.0);
	// Testing a non-constant variable is necessary.
	if (uni0 == 1.0)
	{
		// Using the matrix variable appears necessary.
		projectionMatrix[0][0] = 1.0;
	}

	FragVarying = 1.0;
	// Referencing the matrix is necessary though clearly the compiler
	// doesn&apos;t realize the assignment is useless.
	gl_Position = dEQP_Position + vec4(projectionMatrix[1][0], 0.0, 0.0, 0.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
varying float FragVarying;
void main()
{
	gl_FragColor = vec4(FragVarying, 1.0, 1.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.177</Number>
    <Text>WARNING // Uniform &quot;uni0&quot; location is not valid, location = -1. Cannot set value to the uniform.</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28335</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.missing_parenthesis_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if true
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(5): error: syntax error, unexpected BOOLCONSTANT, expecting &apos;(&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.72899999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.1879999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4228</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.missing_parenthesis_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if true
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(5): error: syntax error, unexpected BOOLCONSTANT, expecting &apos;(&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.55100000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2707</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.unclosed_parenthesis_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (true
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: syntax error, unexpected NEW_IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.42499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2615</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.unclosed_parenthesis_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (true
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: syntax error, unexpected NEW_IDENTIFIER, expecting &apos;)&apos; or &apos;,&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2690</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (5)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.6830000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3946</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (5)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6759999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3922</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_zero_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (0)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.77</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4049</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_zero_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (0)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.659</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3928</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_one_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (1)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4033</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_one_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (1)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.73</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3921</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_uniform_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;
uniform int u0;
void main()
{
	if (u0)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:6(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.913</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4151</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.int_uniform_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;
uniform int u0;
void main()
{
	if (u0)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:6(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7889999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3985</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.float_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (5.0)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8340000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4052</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.float_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (5.0)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.72</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3912</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.float_zero_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (0.0)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7689999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4045</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.float_zero_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (0.0)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3935</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.float_one_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (1.0)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.76</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4053</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.float_one_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
void main()
{
	if (1.0)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.659</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3920</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.sampler_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
uniform sampler2D s0;
void main()
{
	if (s0)
		gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.849</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4096</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.conditionals.invalid_if.sampler_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
uniform sampler2D s0;
void main()
{
	if (s0)
		gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(6): error: if-statement condition must be scalar boolean
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6879999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3951</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.declarations.invalid_declarations.attribute_in_vertex_main" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>void main()
{
	attribute mediump float val;
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(2): error: attribute variable `val&apos; must be declared at global scope
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.6930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.declarations.invalid_declarations.attribute_in_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>attribute mediump float val;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:1(1): error: `attribute&apos; variables may not be declared in the fragment shader
0:1(1): error: illegal type for a varying variable
0:1(1): error: precision qualifiers apply only to floating point, integer and opaque types
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2250000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3580000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5928</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.declarations.invalid_declarations.uniform_in_vertex_main" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>void main()
{
	uniform mediump float val;
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(2): error: uniform variable `val&apos; must be declared at global scope
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.821</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4105</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.declarations.invalid_declarations.uniform_in_fragment_main" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>void main()
{
	uniform mediump float val;
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(2): error: uniform variable `val&apos; must be declared at global scope
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.673</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3929</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.declarations.invalid_declarations.varying_in_vertex_main" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>void main()
{
	varying mediump float val;
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(2): error: varying variable `val&apos; must be declared at global scope
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump float val;
void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.778</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7809999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5826</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.declarations.invalid_declarations.varying_in_fragment_main" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>varying mediump float val;
void main()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>void main()
{
	varying mediump float val;
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(2): error: varying variable `val&apos; must be declared at global scope
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3049999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6054</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float out0;


void main()
{
	
	out0 = in0.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.109</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.028</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43331</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.x;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9980000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4529999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42647</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.xx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4750000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.869</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44641</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.xx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2759999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.914</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44615</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.xy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3839999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.769</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46205</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.xy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3290000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.919</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43472</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_yx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.yx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.532</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45553</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_yx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.yx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.242</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.819000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43047</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_yxy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.yxy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.367</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">305.92498799999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">341254</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_yxy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.yxy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8239999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.483000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47348</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xyxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.xyxx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">497.10101300000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">918398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_xyxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.xyxx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">336.86099200000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">706683</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_yyyy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.yyyy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4849999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.698</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44124</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_yyyy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.yyyy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.105</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">340.98998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">628506</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float out0;


void main()
{
	
	out0 = in0.s;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.29</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">386.17999300000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">418497</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.s;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.911</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">314.97000100000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">649985</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_ss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.ss;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">383.73001099999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">657936</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_ss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.ss;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.234</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.895</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43233</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_st_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.st;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4119999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.747</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2320865</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_st_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.st;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4841.4868159999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">423.932007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5659854</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_ts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.ts;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.726000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">422923</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_ts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.ts;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3519999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.914999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">308429</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_tst_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.tst;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5760000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">349.25799599999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1252106</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_tst_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.tst;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.13100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4225.6401370000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.084</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4572358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_stss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.stss;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">832.23498500000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">979698</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_stss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.stss;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3809999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.800998999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83887</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_tttt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.tttt;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7480000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.06</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48566</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_tttt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.tttt;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.302</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.587</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46157</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float out0;


void main()
{
	
	out0 = in0.r;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.555999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46223</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.r;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.206</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4909999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42867</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_rr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.rr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4980000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.784000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45347</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_rr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.rr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2650000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.897</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_rg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.rg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5089999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.677</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_rg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.rg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1469999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.827</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44459</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_gr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.gr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5659999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.76</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45999</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_gr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.gr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2450000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.875999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45348</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_grg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.grg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.92</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46461</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_grg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.grg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2509999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.095000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44936</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_rgrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.rgrr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.797000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46758</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_rgrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.rgrr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2639999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.298999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46054</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_gggg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.gggg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.375</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.724</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec2_gggg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec2 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.gggg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2519999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.355</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46487</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = in0.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6059999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.209</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43695</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.x;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0649999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4610000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42871</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_z_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = in0.z;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.508</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.135999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_z_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.z;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2229999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.374000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43576</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.xz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.788</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44548</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.xz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.246</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.839</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44490</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.zz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4329999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.675000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45970</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.zz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.246</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.678000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45073</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xyz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.xyz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.788</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46206</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xyz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.xyz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3580000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.074</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44040</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.zyx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.593</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.045999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45647</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.zyx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3580000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.032999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45837</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.xxx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5659999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.943</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.xxx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2549999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.087999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45863</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zzz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.zzz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.423</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.050000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46555</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zzz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.zzz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.359</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.170999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44883</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zzy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.zzy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5009999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.987</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46773</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zzy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.zzy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2440000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.000999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45984</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_yxy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.yxy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5590000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.9</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44633</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_yxy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.yxy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3519999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.023999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44800</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xzx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.xzx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5489999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.933</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45675</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xzx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.xzx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3799999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.105</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44964</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xyyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.xyyx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6019999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.689</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45779</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_xyyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.xyyx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1440000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.272</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45145</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zzzz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.zzzz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.609</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.811</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44598</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_zzzz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.zzzz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.21099999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1709999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.298999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45507</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = in0.s;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4740000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.159000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42411</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.s;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0299999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4860000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42678</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_p_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = in0.p;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5529999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.157</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43509</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_p_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.p;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.081</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4640000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41756</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_sp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.sp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4580000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.773999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45354</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_sp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.sp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.371</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.890000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45554</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_pp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.pp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.496</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.944000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44314</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_pp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.pp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3959999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44633</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_stp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.stp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.597</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.936</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_stp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.stp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4129999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.026999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44036</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_pts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.pts;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5489999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.913</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45543</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_pts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.pts;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.367</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.026999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_sss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.sss;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.952999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44728</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_sss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.sss;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.359</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.093</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44769</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_ppp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.ppp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.605</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.975</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45798</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_ppp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.ppp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.226</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.226000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45032</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_ppt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.ppt;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5779999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.907999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45483</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_ppt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.ppt;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1800000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.933999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45612</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_tst_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.tst;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.589</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45741</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_tst_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.tst;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3170000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.034000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44746</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_sps_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.sps;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.018000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45546</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_sps_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.sps;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.363</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.119999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44015</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_stts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.stts;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5649999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.826000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45546</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_stts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.stts;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3639999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.236000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48531</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_pppp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.pppp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.476</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.803000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45437</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_pppp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.pppp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1739999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.256</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45037</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = in0.r;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.585</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.122999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44582</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.r;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.097</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4469999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42768</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_b_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


void main()
{
	
	out0 = in0.b;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5710000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.335000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43554</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_b_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.b;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.194</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4450000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42683</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.rb;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4119999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.791</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45028</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.rb;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2509999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.864000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44233</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.bb;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4950000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.784000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44958</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.bb;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2240000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.837</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45214</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rgb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.rgb;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4079999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.946999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45542</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rgb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.rgb;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2690000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.015000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45670</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bgr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.bgr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3900000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.045</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45426</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bgr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.bgr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.093999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43786</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.rrr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.957000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45540</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.rrr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.286</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.106</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45726</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bbb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.bbb;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3450000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.743</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45264</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bbb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.bbb;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.114000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45661</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bbg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.bbg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.973000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46412</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bbg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.bbg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3029999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.028</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44708</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_grg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.grg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4689999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.882</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45378</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_grg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.grg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2080000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.202</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44792</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rbr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.rbr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4780000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48071</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rbr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.rbr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2789999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.156000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44772</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rggr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.rggr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4940000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.525</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45346</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_rggr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.rggr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2480000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.242000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45032</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bbbb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.bbbb;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3879999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.898</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45468</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec3_bbbb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec3 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.bbbb;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1970000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.256</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44942</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = in0.x;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4809999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.914</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43137</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.x;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1259999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.102</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">537943</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_w_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = in0.w;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4630000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.170999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">368676</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_w_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.w;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0259999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">216.51199299999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">251298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.wx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3239999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.815</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45072</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.wx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2789999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.564</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44968</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.wz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4689999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.839</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45152</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.wz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1739999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.624000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44068</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_www_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.www;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4009999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.923</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_www_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.www;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.258</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.659000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43350</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_yyw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.yyw;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4009999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.019</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45393</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_yyw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.yyw;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.077</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44293</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wzy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.wzy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.395</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.968999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45507</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wzy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.wzy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2749999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.788</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_xyzw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.xyzw;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4820000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.723000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_xyzw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.xyzw;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2610000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.673999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wzyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.wzyx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3860000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.853999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wzyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.wzyx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2469999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.9</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44607</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_xxxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.xxxx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4830000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.792999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_xxxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.xxxx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.181</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.866</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45491</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_yyyy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.yyyy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4969999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.856999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45690</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_yyyy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.yyyy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.073</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.016999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45378</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wwww_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.wwww;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4790000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.819000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44454</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wwww_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.wwww;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2749999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.725</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wzzw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.wzzw;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3959999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.865</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wzzw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.wzzw;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1659999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.909000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43591</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wwwy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.wwwy;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3559999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.853</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44500</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_wwwy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.wwwy;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.25</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.861000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43606</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_xyxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.xyxx;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44581</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_xyxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.xyxx;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1640000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.864000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43586</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_zzwz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.zzwz;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.383</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45498</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_zzwz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.zzwz;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1560000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.943</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44528</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = in0.s;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4870000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.183999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.s;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.036</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.077999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42231</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_q_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = in0.q;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3849999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.087</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43104</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_q_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.q;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0059999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1150000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42139</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qs_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.qs;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3980000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qs_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.qs;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.278</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.587999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44148</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.qp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.379</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44183</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.qp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1469999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.569000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44081</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qqq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.qqq;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.456</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.964</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45569</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qqq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.qqq;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.181</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.762</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44234</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ttq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.ttq;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4540000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.923999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45364</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ttq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.ttq;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.198</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.721</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44502</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qpt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.qpt;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5979999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49018</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qpt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.qpt;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3620000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.259</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51049</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_stpq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.stpq;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.721</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45334</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_stpq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.stpq;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1869999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.887</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44660</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qpts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.qpts;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2829999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.782999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45185</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qpts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.qpts;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.898999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43473</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ssss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.ssss;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4889999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.816000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45275</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ssss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.ssss;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1419999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45658</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_tttt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.tttt;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.791</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_tttt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.tttt;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.045</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44889</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qqqq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.qqqq;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.728999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qqqq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.qqqq;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2719999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.83</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43615</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qppq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.qppq;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.29</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.954000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45467</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qppq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.qppq;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2610000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43628</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qqqt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.qqqt;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3650000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.815</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45422</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_qqqt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.qqqt;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.153</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.914999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44392</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_stss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.stss;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.797000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46432</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_stss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.stss;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.258</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.848000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45620</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ppqp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.ppqp;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3500000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.798</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44330</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ppqp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.ppqp;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2490000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.867000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = in0.r;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.223000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43386</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.r;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1150000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.054</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43127</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_a_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


void main()
{
	
	out0 = in0.a;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.112</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43212</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_a_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


void main()
{
	
	out0 = in0.a;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0030000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.131</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42128</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ar_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.ar;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3929999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45067</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ar_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.ar;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.361000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ab_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec2 out0;


void main()
{
	
	out0 = in0.ab;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec2 out0;
uniform vec2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3530000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.792</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45246</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_ab_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec2 a, vec2 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec2 ref_out0;
vec2 out0;


void main()
{
	
	out0 = in0.ab;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1880000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.630000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44834</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_aaa_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.aaa;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2879999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.102</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46312</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_aaa_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.aaa;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.085</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.708</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45129</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_gga_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.gga;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3809999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.976000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_gga_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.gga;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2999999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.755000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_abg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec3 out0;


void main()
{
	
	out0 = in0.abg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec3 out0;
uniform vec3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.298</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.706</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45833</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_abg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec3 a, vec3 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec3 ref_out0;
vec3 out0;


void main()
{
	
	out0 = in0.abg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1509999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.715999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44289</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_rgba_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.rgba;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.726000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45333</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_rgba_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.rgba;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2919999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.807</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44675</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_abgr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.abgr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.363</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.737</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46293</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_abgr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.abgr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.173</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.914</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45373</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_rrrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.rrrr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.456</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.752000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_rrrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.rrrr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.081</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44653</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_gggg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.gggg;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.371</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.798999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_gggg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.gggg;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1640000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.919</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44722</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_aaaa_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.aaaa;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3460000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.803000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45405</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_aaaa_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.aaaa;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2490000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.891999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43791</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_abba_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.abba;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.359</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.831</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44458</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_abba_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.abba;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1819999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.952</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46152</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_aaag_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.aaag;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3759999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">489.94601399999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">524425</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_aaag_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.aaag;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0870000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.952</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">539833</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_rgrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.rgrr;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.897</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">303901</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_rgrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.rgrr;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0699999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.898</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43453</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_bbab_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


void main()
{
	
	out0 = in0.bbab;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.525</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47155</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_vec4_bbab_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	
	out0 = in0.bbab;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1219999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.846</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43498</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.x;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6200000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.884</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec2 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.x;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8050000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.827</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41163</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_xx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.xx;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_xx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.xx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.887</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9570000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41835</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_xy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.xy;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.665</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.038</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45759</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_xy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.xy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.875</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41401</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_yx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.yx;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5579999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44544</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_yx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.yx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.952</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41808</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_yxy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.yxy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7349999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.381</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_yxy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.yxy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0950000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41082</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_xyxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.xyxx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7480000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.183999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_xyxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.xyxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9169999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2430000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42462</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_yyyy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.yyyy;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.114000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44709</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_yyyy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.yyyy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.79</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42392</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.s;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7309999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.728</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45018</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec2 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.s;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.919</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6479999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40280</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_ss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.ss;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.605</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.035</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43549</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_ss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.ss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9910000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8379999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42941</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_st_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.st;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.681</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.083</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45805</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_st_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.st;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.875</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9179999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_ts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.ts;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.661</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.845000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_ts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.ts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.802</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9350000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42598</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_tst_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.tst;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.167</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45074</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_tst_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.tst;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1820000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42166</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_stss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.stss;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7519999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.122</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46040</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_stss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.stss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.871</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.164999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43426</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_tttt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.tttt;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44746</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_tttt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.tttt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.976</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.223000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43552</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.r;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.74</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45024</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec2 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.r;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9079999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6899999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41301</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_rr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.rr;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.758</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.052</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44475</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_rr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.rr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.98</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8829999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40815</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_rg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.rg;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7810000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44739</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_rg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.rg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8090000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9600000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40719</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_gr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.gr;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7770000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.076000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43824</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_gr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.gr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0009999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8629999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40908</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_grg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.grg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6480000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.207000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45038</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_grg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.grg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8199999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.111000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43005</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_rgrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.rgrr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.544</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.054</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44972</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_rgrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.rgrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42265</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_gggg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = in0.gggg;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.673</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.106999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44801</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec2_gggg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec2 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = in0.gggg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0019999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1790000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41454</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.x;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.597</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.738</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43770</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.x;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8580000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41608</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_z_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.z;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5489999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.773</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45858</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_z_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.z;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9289999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5990000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43571</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.xz;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6549999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.180999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45071</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.xz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7959999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41804</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.zz;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6440000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.069000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44492</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.zz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7970000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8559999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40773</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xyz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.xyz;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.271000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44530</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xyz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.xyz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9339999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41939</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.zyx;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.569</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.250999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46314</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.zyx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0270000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.098000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42439</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.xxx;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7509999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.263</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.xxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9730000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41125</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zzz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.zzz;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.340999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44775</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zzz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.zzz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.867</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9770000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41649</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zzy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.zzy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.013</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45835</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zzy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.zzy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.798</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42216</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_yxy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.yxy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6579999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.093999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44969</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_yxy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.yxy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.024</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0020000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42288</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xzx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.xzx;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5630000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.211</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45758</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xzx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.xzx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0139999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.071</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43195</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xyyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.xyyx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7589999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.134</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46096</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_xyyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.xyyx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1379999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41450</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zzzz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.zzzz;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.002000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43851</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_zzzz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.zzzz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9159999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.319000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42654</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.s;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.641</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.714</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45028</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.s;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.887</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6289999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41130</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_p_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.p;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5329999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.782999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45909</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_p_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.p;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8929999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6500000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41138</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_sp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.sp;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5659999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.106999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44733</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_sp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.sp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.907</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8729999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41815</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_pp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.pp;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.677</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.195</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_pp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.pp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9049999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7439999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.stp;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7170000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.170999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45697</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.stp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9119999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.398999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42563</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_pts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.pts;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7559999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.292999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46693</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_pts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.pts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.871</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.048</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41884</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_sss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.sss;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.577</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">483.06201199999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">516540</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_sss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.sss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9300000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">58.096001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">90225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_ppp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.ppp;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6840000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.153</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46211</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_ppp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.ppp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0190000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2289999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41747</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_ppt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.ppt;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.452999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">535311</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_ppt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.ppt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9430000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0690000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">120057</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_tst_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.tst;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7269999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.191000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45289</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_tst_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.tst;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.968</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.118</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_sps_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.sps;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7559999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.167999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45142</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_sps_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.sps;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9950000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0730000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42289</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.stts;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.891999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45032</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.stts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8759999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43184</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_pppp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.pppp;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.071</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45485</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_pppp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.pppp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9900000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2430000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41657</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.r;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.694</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.853999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44276</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.r;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.98</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6750000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41899</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_b_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.b;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7309999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.731999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_b_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.b;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0009999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6170000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40397</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.rb;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7570000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.215</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45072</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.rb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9209999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8840000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.bb;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.653</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.032</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.bb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0139999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6229999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41777</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rgb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.rgb;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.247</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rgb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.rgb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0459999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.083</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43052</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bgr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.bgr;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7589999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.176</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bgr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.bgr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.867</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9830000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41196</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.rrr;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6179999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.223000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44680</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.rrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9969999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.032</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bbb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.bbb;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.657</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.252000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44920</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bbb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.bbb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.988</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0210000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41177</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bbg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.bbg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.657</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.321</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45344</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bbg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.bbg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9990000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1080000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42237</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_grg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.grg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.302</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_grg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.grg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9079999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0589999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41223</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rbr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.rbr;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7349999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.233000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rbr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.rbr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.984</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.031000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43212</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rggr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.rggr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6659999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.138999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44180</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_rggr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.rggr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0449999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2140000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41552</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bbbb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = in0.bbbb;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7490000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.113</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43941</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_bbbb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec3 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = in0.bbbb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8679999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1869999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42482</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.x;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7250000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46199</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.x;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0009999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3580000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41027</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_w_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.w;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.714</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.744</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45041</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_w_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.w;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9060000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3979999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41934</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wx;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.045999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44906</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9910000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6590000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40952</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wz;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.054</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0110000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5449999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41480</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_www_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.www;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6739999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.287000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45787</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_www_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.www;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0110000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7420000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40974</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_yyw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.yyw;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.738</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.211</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_yyw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.yyw;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9049999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5510000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wzy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wzy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.738</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.055</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46390</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wzy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wzy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9809999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5199999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42616</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_xyzw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.xyzw;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6579999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44787</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_xyzw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.xyzw;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9929999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8550000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43216</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wzyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wzyx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7429999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.134</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45892</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wzyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wzyx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9199999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9260000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41224</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_xxxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.xxxx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7549999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.048999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44638</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_xxxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.xxxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8660000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8729999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41172</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_yyyy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.yyyy;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6720000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.067</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43878</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_yyyy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.yyyy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9249999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9589999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wwww_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wwww;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.31</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47683</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wwww_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wwww;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.133</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8870000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42340</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wzzw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wzzw;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6629999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.159000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wzzw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wzzw;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0030000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8680000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41288</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wwwy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.wwwy;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6520000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.144</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45058</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_wwwy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.wwwy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9809999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43242</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_xyxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.xyxx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.657</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.872999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_xyxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.xyxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8889999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42304</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_zzwz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.zzwz;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.726</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.153</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45376</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_zzwz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.zzwz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9689999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8539999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41266</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.s;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.768000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44182</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.s;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.915</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3629999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40047</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_q_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.q;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7269999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_q_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.q;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9119999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3160000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40894</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qs_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qs;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9819999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44727</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qs_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qs;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9980000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5640000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41409</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qp;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.124000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45734</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9039999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5340000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41483</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qqq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qqq;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5470000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.23</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44634</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qqq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qqq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0030000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6920000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42050</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ttq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.ttq;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7709999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.226000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46304</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ttq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.ttq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.127</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9889999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7690000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42056</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qpt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qpt;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8450000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.138</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45141</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qpt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qpt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0150000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6929999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42028</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_stpq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.stpq;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.843</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.07</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45069</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_stpq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.stpq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.128</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9900000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9030000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43154</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qpts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qpts;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8690000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.102</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48203</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qpts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qpts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">226.300995</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3740000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">264939</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ssss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.ssss;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6520000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9830000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43604</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ssss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.ssss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8959999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">394.73498499999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">433922</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_tttt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.tttt;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8719999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.082000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46703</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_tttt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.tttt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.126</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0600000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9090000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qqqq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qqqq;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.051</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44044</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qqqq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qqqq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0089999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9160000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41547</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qppq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qppq;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.718</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.095000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qppq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qppq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.883</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9190000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43344</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qqqt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.qqqt;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8610000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.053000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_qqqt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.qqqt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.911</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9049999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43510</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_stss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.stss;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9079999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.903</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45098</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_stss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.stss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.984</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8960000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43157</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ppqp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.ppqp;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6720000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.08</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45577</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ppqp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.ppqp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8679999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42276</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.r;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.766999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45490</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.r;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.984</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3249999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41123</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_a_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.a;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6309999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.837</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_a_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.a;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8540000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.093</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41718</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ar_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.ar;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8719999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.051</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44064</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ar_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.ar;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1080000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5980000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42774</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ab_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.ab;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, ivec2 b) { return (ivec2(floor(a + 0.5)) == b); }

varying vec2 v_out0;
uniform ivec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.206</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.513999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_ab_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec2 a, ivec2 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec2 ref_out0;
ivec2 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.ab;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.021000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.763999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48053</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_aaa_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.aaa;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.205</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44828</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_aaa_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.aaa;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9660000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7279999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41073</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_gga_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.gga;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6589999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44861</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_gga_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.gga;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9809999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7170000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41128</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_abg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.abg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, ivec3 b) { return (ivec3(floor(a + 0.5)) == b); }

varying vec3 v_out0;
uniform ivec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6480000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.287000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45504</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_abg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec3 a, ivec3 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec3 ref_out0;
ivec3 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.abg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0019999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8040000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41762</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_rgba_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.rgba;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5590000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.071999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45490</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_rgba_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.rgba;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9990000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8390000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42168</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_abgr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.abgr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.077</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45800</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_abgr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.abgr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8759999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8879999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_rrrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.rrrr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7109999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.103999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_rrrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.rrrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9889999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9659999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43014</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_gggg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.gggg;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.117000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45572</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_gggg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.gggg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9089999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7170000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41987</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_aaaa_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.aaaa;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.047000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44759</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_aaaa_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.aaaa;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.806</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42014</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_abba_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.abba;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7269999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.087</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45959</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_abba_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.abba;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.992</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8829999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42185</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_aaag_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.aaag;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.065</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45885</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_aaag_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.aaag;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0129999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8599999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42019</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_rgrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.rgrr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.681</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.132999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43981</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_rgrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.rgrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9630000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9510000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41932</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_bbab_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = in0.bbab;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7309999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.128</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44979</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec4_bbab_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = in0.bbab;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7879999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9909999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.x;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6070000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2629999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44930</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.x;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8740000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2620000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40473</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_xx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.xx;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7280000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42403</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_xx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.xx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8559999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6029999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41173</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_xy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.xy;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.564</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43480</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_xy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.xy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5960000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_yx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.yx;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6229999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42531</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_yx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.yx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9249999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5229999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41259</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_yxy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.yxy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.986</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8419999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42708</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_yxy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.yxy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.919</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6820000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41628</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_xyxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.xyxx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.637</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6029999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_xyxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.xyxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7400000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9870000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42051</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_yyyy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.yyyy;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6440000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6950000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43549</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_yyyy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.yyyy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9510000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9139999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41050</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.s;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6589999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3420000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41789</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.s;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8439999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3989999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_ss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.ss;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43024</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_ss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.ss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8639999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5909999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41418</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_st_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.st;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.754</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5869999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43464</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_st_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.st;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9460000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4830000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40178</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_ts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.ts;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7469999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5820000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42549</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_ts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.ts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5459999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39978</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_tst_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.tst;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7469999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8360000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43917</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_tst_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.tst;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9449999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7189999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_stss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.stss;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6120000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5700000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42609</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_stss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.stss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8450000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9890000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_tttt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.tttt;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42444</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_tttt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.tttt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8929999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8170000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42628</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.r;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6269999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.307</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43725</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.r;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.823</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3130000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40777</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_rr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.rr;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6739999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7070000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42451</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_rr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.rr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8210000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40178</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_rg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.rg;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.669</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7260000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_rg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.rg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.883</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5090000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40274</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_gr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.gr;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.640000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43423</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_gr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.gr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.984</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6349999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42388</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_grg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.grg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6429999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.754</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44596</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_grg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.grg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9380000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41832</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_rgrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.rgrr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.661</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6199999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42833</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_rgrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.rgrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.915</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9209999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42009</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_gggg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = in0.gggg;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.637</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6219999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec2_gggg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec2 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = in0.gggg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.839</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8309999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40906</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.x;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7229999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.301</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43759</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.x;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8610000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2959999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39799</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_z_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.z;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5209999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.321</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_z_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.z;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8700000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2889999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39630</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.xz;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5590000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6310000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42412</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.xz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.964</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5199999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40270</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.zz;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6200000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5730000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42919</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.zz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8559999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5739999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40230</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xyz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.xyz;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.763</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44918</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xyz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.xyz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.855</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7129999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.zyx;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7440000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7420000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44083</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.zyx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9380000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6969999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40709</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.xxx;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5510000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7910000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42529</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.xxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8540000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7089999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40706</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zzz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.zzz;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.782</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42730</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zzz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.zzz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7469999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40454</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zzy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.zzy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8230000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42763</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zzy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.zzy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.762</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7029999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41513</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_yxy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.yxy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6360000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.576000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44496</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_yxy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.yxy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8759999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7200000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41649</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xzx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.xzx;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.621</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.757</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xzx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.xzx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9620000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.702</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40666</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xyyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.xyyx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6319999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42936</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_xyyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.xyyx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9339999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41102</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zzzz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.zzzz;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.665</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42523</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_zzzz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.zzzz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.087999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43122</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.s;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6360000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.271000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.s;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.835</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3279999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_p_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.p;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6179999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.345000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42711</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_p_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.p;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8380000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3789999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41226</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_sp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.sp;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">387.83599900000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1027470</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_sp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.sp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7879999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">90.858001999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">123352</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_pp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.pp;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6280000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6259999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43176</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_pp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.pp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8170000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40157</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_stp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.stp;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.758</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8360000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44215</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_stp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.stp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8650000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7089999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40638</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_pts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.pts;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.629</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.756</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_pts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.pts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9340000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.718</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42758</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_sss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.sss;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.609</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7309999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42571</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_sss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.sss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.774</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8520000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41465</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_ppp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.ppp;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7549999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42855</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_ppp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.ppp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.831</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6969999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41490</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_ppt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.ppt;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7490000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42894</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_ppt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.ppt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8450000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6989999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40611</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_tst_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.tst;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7739999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42660</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_tst_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.tst;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8170000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46237</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_sps_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.sps;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7229999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.878</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44061</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_sps_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.sps;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8679999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7769999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41647</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_stts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.stts;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5579999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.609</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44519</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_stts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.stts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.915</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8360000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41928</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_pppp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.pppp;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.621</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6229999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42303</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_pppp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.pppp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9409999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9290000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41971</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.r;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.536</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.269</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.r;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2889999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40738</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_b_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.b;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6429999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2769999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_b_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.b;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7559999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4640000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40678</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.rb;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6440000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42481</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.rb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.774</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5869999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.bb;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7589999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6020000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43328</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.bb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8380000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5579999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41039</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rgb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.rgb;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7549999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.760999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44190</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rgb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.rgb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9969999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4779999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41544</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bgr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.bgr;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.629</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7810000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43929</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bgr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.bgr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.843</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7409999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41573</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.rrr;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7449999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.rrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9500000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7469999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41840</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bbb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.bbb;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7309999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7650000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bbb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.bbb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7230000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42577</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bbg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.bbg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.573</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.817</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44471</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bbg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.bbg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.702</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42473</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_grg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.grg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8260000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.182</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44305</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_grg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.grg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9300000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42684</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rbr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.rbr;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6869999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8130000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42788</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rbr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.rbr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.847</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6790000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41428</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rggr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.rggr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6389999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5890000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43637</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_rggr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.rggr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.847</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8179999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41734</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bbbb_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = in0.bbbb;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7280000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.707000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43550</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec3_bbbb_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec3 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = in0.bbbb;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9249999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.005000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42908</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_x_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.x;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.629</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.335000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42758</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_x_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.x;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40228</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_w_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.w;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6110000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41690</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_w_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.w;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1419999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41228</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wx;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.758</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.532</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42560</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9460000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2469999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wz;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6360000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5299999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42616</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39866</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_www_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.www;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.552</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.647</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43463</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_www_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.www;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8130000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4469999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40236</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_yyw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.yyw;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6179999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7390000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42724</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_yyw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.yyw;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7599999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4299999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41949</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wzy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wzy;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7080000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.875999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44243</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wzy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wzy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7650000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4459999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41995</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_xyzw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.xyzw;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.746</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5370000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44157</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_xyzw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.xyzw;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.839</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5749999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42464</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wzyx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wzyx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5180000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43174</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wzyx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wzyx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.851</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5839999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42556</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_xxxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.xxxx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6589999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6820000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42485</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_xxxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.xxxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5239999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40693</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_yyyy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.yyyy;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6509999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.622999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43426</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_yyyy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.yyyy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7599999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6419999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41559</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wwww_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wwww;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.649</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6159999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42551</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wwww_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wwww;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9580000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5860000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wzzw_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wzzw;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6589999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7430000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42841</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wzzw_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wzzw;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9489999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5990000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41741</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wwwy_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.wwwy;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.742</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5890000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42867</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_wwwy_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.wwwy;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8660000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4309999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41511</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_xyxx_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.xyxx;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6219999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.609</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_xyxx_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.xyxx;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.843</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6400000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42585</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_zzwz_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.zzwz;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5470000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6780000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42726</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_zzwz_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.zzwz;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.883</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5820000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40793</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_s_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.s;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.544</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3350000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41740</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_s_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.s;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8199999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.952</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40231</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_q_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.q;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5310000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2569999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41597</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_q_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.q;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9710000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0150000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40488</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qs_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qs;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6459999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.557</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43352</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qs_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qs;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2720000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40842</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qp;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.681</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.659000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43528</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.871</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3100000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40891</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qqq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qqq;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6059999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7140000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43456</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qqq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qqq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8479999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4269999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40157</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ttq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.ttq;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.645</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.778</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ttq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.ttq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9289999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4190000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42104</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qpt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qpt;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">200.18899500000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">500.75201399999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">731455</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qpt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qpt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.839</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4269999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40309</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_stpq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.stpq;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6110000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6359999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">500541</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_stpq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.stpq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8330000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4909999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">410592</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qpts_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qpts;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6660000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43108</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qpts_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qpts;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">176.134995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">207931</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ssss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.ssss;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6440000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5600000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ssss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.ssss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.891</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">225.341995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">257301</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_tttt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.tttt;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7589999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6359999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42366</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_tttt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.tttt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6419999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">312225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qqqq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qqqq;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8130000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">289.17401100000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">662202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qqqq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qqqq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9340000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5440000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40575</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qppq_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qppq;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6320000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">397.73599200000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">430731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qppq_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qppq;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8220000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">268.24899299999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">531900</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qqqt_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.qqqt;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">404.82998700000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">747301</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_qqqt_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.qqqt;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8410000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">287.48001099999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">622539</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_stss_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.stss;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7050000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.084</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1056679</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_stss_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.stss;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8849999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">419.34600799999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">451524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ppqp_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.ppqp;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.653</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5809999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42280</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ppqp_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.ppqp;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.754</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5869999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">188199</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_r_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.r;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8621.28125</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.02</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.589</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8669132</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_r_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.r;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8130000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.9560000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62287</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_a_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.a;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">787.15997300000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.023</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">141.865005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">959032</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_a_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.a;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.859</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">786.47699</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1152746</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ar_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.ar;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.774</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42682</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ar_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.ar;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.96</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">344.63198899999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">680005</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ab_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec2 v_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.ab;
	gl_Position = dEQP_Position;
v_out0 = vec2(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec2 a, bvec2 b) { return (greaterThan(a, vec2(0.5)) == b); }

varying vec2 v_out0;
uniform bvec2 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6219999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5540000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42455</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_ab_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec2 a, bvec2 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec2 ref_out0;
bvec2 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.ab;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8420000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">303.41101099999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">335150</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_aaa_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.aaa;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8209999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42546</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_aaa_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.aaa;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.915</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4220000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40443</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_gga_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.gga;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.714</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7530000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_gga_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.gga;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.774</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_abg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec3 v_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.abg;
	gl_Position = dEQP_Position;
v_out0 = vec3(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec3 a, bvec3 b) { return (greaterThan(a, vec3(0.5)) == b); }

varying vec3 v_out0;
uniform bvec3 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.569</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8219999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">761229</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_abg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec3 a, bvec3 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec3 ref_out0;
bvec3 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.abg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8250000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1882.3220209999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2578715</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_rgba_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.rgba;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7770000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">380976</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_rgba_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.rgba;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8780000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5099999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1519996</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_abgr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.abgr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6160000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4014.1000979999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4047708</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_abgr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.abgr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1307.7700199999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3629999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1649006</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_rrrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.rrrr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7029999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6159999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42549</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_rrrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.rrrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8809999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6980000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">514982</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_gggg_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.gggg;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6709999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">282.77700800000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">315978</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_gggg_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.gggg;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8610000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">374.93499800000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">407396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_aaaa_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.aaaa;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6459999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">319041</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_aaaa_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.aaaa;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8740000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6170000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">305378</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_abba_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.abba;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.766</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">377.30599999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">410944</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_abba_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.abba;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8980000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5939999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40764</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_aaag_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.aaag;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7440000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">219.38400300000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">252600</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_aaag_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.aaag;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">364.93499800000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">733579</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_rgrr_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.rgrr;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7250000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">362.65701300000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">687824</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_rgrr_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.rgrr;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">762.03802499999995</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2669999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">800985</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_bbab_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = in0.bbab;
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.621</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6080000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43052</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_bvec4_bbab_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = in0.bbab;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1299999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0950000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41711</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	return -a;
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.54</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">255.99800099999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">390024</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	return -a;
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2170000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5739999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37149</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_vec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec2 in0;
varying float out0;


float func (vec2 a)
{
	return -(a.x + a.y);
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">464.11999500000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">482435</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_vec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec2 in0;
uniform float ref_out0;
float out0;


float func (vec2 a)
{
	return -(a.x + a.y);
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3620000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.013</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28478</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_vec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


float func (vec3 a)
{
	return -(a.x + a.y + a.z);
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7429999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.869</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29416</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_vec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


float func (vec3 a)
{
	return -(a.x + a.y + a.z);
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.427</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.035</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28748</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_vec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


float func (vec4 a)
{
	return -(a.x + a.y + a.z + a.w);
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7949999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.319000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30081</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_vec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


float func (vec4 a)
{
	return -(a.x + a.y + a.z + a.w);
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.032000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3610000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.346</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute mat2 in0;
varying float out0;


float func (mat2 a)
{
	return -(a[0][0] + a[0][1] + a[1][0] + a[1][1]);
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.927</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">266914</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat2 a_in0;
varying mat2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying mat2 in0;
uniform float ref_out0;
float out0;


float func (mat2 a)
{
	return -(a[0][0] + a[0][1] + a[1][0] + a[1][1]);
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5470000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.056000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34875</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute mat3 in0;
varying float out0;


float func (mat3 a)
{
	return -(a[0][0] + a[0][1] + a[0][2] + a[1][0] + a[1][1] + a[1][2] + a[2][0] + a[2][1] + a[2][2]);
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.999000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36315</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat3 a_in0;
varying mat3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying mat3 in0;
uniform float ref_out0;
float out0;


float func (mat3 a)
{
	return -(a[0][0] + a[0][1] + a[0][2] + a[1][0] + a[1][1] + a[1][2] + a[2][0] + a[2][1] + a[2][2]);
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7309999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.261998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute mat4 in0;
varying float out0;


float func (mat4 a)
{
	return -(a[0][0] + a[0][1] + a[0][2] + a[0][3] + a[1][0] + a[1][1] + a[1][2] + a[1][3] + a[2][0] + a[2][1] + a[2][2] + a[2][3] + a[3][0] + a[3][1] + a[3][2] + a[3][3]);
}

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.649</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.775998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat4 a_in0;
varying mat4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying mat4 in0;
uniform float ref_out0;
float out0;


float func (mat4 a)
{
	return -(a[0][0] + a[0][1] + a[0][2] + a[0][3] + a[1][0] + a[1][1] + a[1][2] + a[1][3] + a[2][0] + a[2][1] + a[2][2] + a[2][3] + a[3][0] + a[3][1] + a[3][2] + a[3][3]);
}

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.032000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3040000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.954999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45188</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (int a)
{
	return -a;
}

void main()
{
	int in0 = int(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8969999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.523</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40230</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (int a)
{
	return -a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.157</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8629999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36162</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_ivec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
int out0;


int func (ivec2 a)
{
	return -(a.x + a.y);
}

void main()
{
	ivec2 in0 = ivec2(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0179999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.086</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31533</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_ivec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying vec2 v_in0;
uniform int ref_out0;
int out0;


int func (ivec2 a)
{
	return -(a.x + a.y);
}

void main()
{
	ivec2 in0 = ivec2(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2639999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.218</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28141</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_ivec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
int out0;


int func (ivec3 a)
{
	return -(a.x + a.y + a.z);
}

void main()
{
	ivec3 in0 = ivec3(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0219999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.33</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_ivec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying vec3 v_in0;
uniform int ref_out0;
int out0;


int func (ivec3 a)
{
	return -(a.x + a.y + a.z);
}

void main()
{
	ivec3 in0 = ivec3(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.698</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29569</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_ivec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


int func (ivec4 a)
{
	return -(a.x + a.y + a.z + a.w);
}

void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.577999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31947</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.int_ivec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


int func (ivec4 a)
{
	return -(a.x + a.y + a.z + a.w);
}

void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3100000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.414</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


bool func (bool a)
{
	return !a;
}

void main()
{
	bool in0 = bool(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8159999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8130000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29187</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


bool func (bool a)
{
	return !a;
}

void main()
{
	bool in0 = bool(v_in0);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0819999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6140000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bvec2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying float v_out0;
bool out0;


bool func (bvec2 a)
{
	return !(a.x == a.y);
}

void main()
{
	bvec2 in0 = bvec2(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9729999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29645</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bvec2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec2 a_in0;
varying vec2 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying vec2 v_in0;
uniform bool ref_out0;
bool out0;


bool func (bvec2 a)
{
	return !(a.x == a.y);
}

void main()
{
	bvec2 in0 = bvec2(v_in0);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1699999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9039999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28227</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bvec3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying float v_out0;
bool out0;


bool func (bvec3 a)
{
	return (a.x == a.y) == a.z;
}

void main()
{
	bvec3 in0 = bvec3(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.899</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.029</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29369</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bvec3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying vec3 v_in0;
uniform bool ref_out0;
bool out0;


bool func (bvec3 a)
{
	return (a.x == a.y) == a.z;
}

void main()
{
	bvec3 in0 = bvec3(v_in0);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1989999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0190000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26875</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bvec4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
bool out0;


bool func (bvec4 a)
{
	return ((a.x == a.y) == (a.z == a.w));
}

void main()
{
	bvec4 in0 = bvec4(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9369999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.286</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.bool_bvec4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying vec4 v_in0;
uniform bool ref_out0;
bool out0;


bool func (bvec4 a)
{
	return ((a.x == a.y) == (a.z == a.w));
}

void main()
{
	bvec4 in0 = bvec4(v_in0);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2450000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0340000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31966</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.mat2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute mat2 in0;
varying mat2 out0;


mat2 func (mat2 a)
{
	return -2.0*a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }

varying mat2 out0;
uniform mat2 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.718</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.204000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.mat2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat2 a_in0;
varying mat2 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (mat2 a, mat2 b, float eps) { vec2 diff = max(abs(a[0]-b[0]), abs(a[1]-b[1])); return all(lessThanEqual(diff, vec2(eps))); }
varying mat2 in0;
uniform mat2 ref_out0;
mat2 out0;


mat2 func (mat2 a)
{
	return -2.0*a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6989999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.372999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43128</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.mat3_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute mat3 in0;
varying mat3 out0;


mat3 func (mat3 a)
{
	return -2.0*a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }

varying mat3 out0;
uniform mat3 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7229999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.170999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54363</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.mat3_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat3 a_in0;
varying mat3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (mat3 a, mat3 b, float eps) { vec3 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), abs(a[2]-b[2])); return all(lessThanEqual(diff, vec3(eps))); }
varying mat3 in0;
uniform mat3 ref_out0;
mat3 out0;


mat3 func (mat3 a)
{
	return -2.0*a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0430000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.423999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55530</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.mat4_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute mat4 in0;
varying mat4 out0;


mat4 func (mat4 a)
{
	return -2.0*a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }

varying mat4 out0;
uniform mat4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7709999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.25</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52611</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.mat4_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute mat4 a_in0;
varying mat4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (mat4 a, mat4 b, float eps) { vec4 diff = max(max(abs(a[0]-b[0]), abs(a[1]-b[1])), max(abs(a[2]-b[2]), abs(a[3]-b[3]))); return all(lessThanEqual(diff, vec4(eps))); }
varying mat4 in0;
uniform mat4 ref_out0;
mat4 out0;


mat4 func (mat4 a)
{
	return -2.0*a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2969999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.021000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54056</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_struct_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


struct Pos { float a, b, c; };

float func (Pos p)
{
	return -(p.a + p.b + p.c);
}

void main()
{
	Pos p = Pos(in0.x, in0.y, in0.z);
	out0 = func(p);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1120000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.156000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30163</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.float_struct_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


struct Pos { float a, b, c; };

float func (Pos p)
{
	return -(p.a + p.b + p.c);
}

void main()
{
	Pos p = Pos(in0.x, in0.y, in0.z);
	out0 = func(p);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.145</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29990</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.struct_struct_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


struct Pos { float a, b, c; };

Pos func (Pos p)
{
	return Pos(-p.a, -p.b, -p.c);
}

void main()
{
	Pos p = Pos(in0.x, in0.y, in0.z);
	p = func(p);
	out0 = p.a + p.b + p.c;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1469999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.451000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30769</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.struct_struct_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


struct Pos { float a, b, c; };

Pos func (Pos p)
{
	return Pos(-p.a, -p.b, -p.c);
}

void main()
{
	Pos p = Pos(in0.x, in0.y, in0.z);
	p = func(p);
	out0 = p.a + p.b + p.c;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.819</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.773</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31042</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.struct_nested_struct_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec3 in0;
varying float out0;


struct Pos { float a, b, c; };
struct Line { Pos start, end; };

Line func (Pos p)
{
	return Line(p, Pos(-p.a, -p.b, -p.c));
}

float sum (Pos p)
{
	return (p.a + p.b + p.c);
}

void main()
{
	Pos p = Pos(in0.x, in0.y, in0.z);
	Line line = func(p);
	out0 = sum(line.start) + (2.0 * sum(line.end));
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.739000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34674</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.struct_nested_struct_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec3 a_in0;
varying vec3 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec3 in0;
uniform float ref_out0;
float out0;


struct Pos { float a, b, c; };
struct Line { Pos start, end; };

Line func (Pos p)
{
	return Line(p, Pos(-p.a, -p.b, -p.c));
}

float sum (Pos p)
{
	return (p.a + p.b + p.c);
}

void main()
{
	Pos p = Pos(in0.x, in0.y, in0.z);
	Line line = func(p);
	out0 = sum(line.start) + (2.0 * sum(line.end));
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.282</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.331</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33750</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.datatypes.struct_constructor_highp_in_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#ifdef GL_FRAGMENT_PRECISION_HIGH
#define PRECISION highp
#else
#define PRECISION mediump
#endif
struct Test {
	PRECISION vec3 color;
} ;
void main() {
	PRECISION vec3 color = vec3(0.2, 2.0, 0.1);
	Test test = Test(color);
	// Bias the color so all components are guaranteed &gt; 1.0.
	gl_FragColor = vec4(vec3(0.25, 0.55, 0.65) + vec3(4.0, 0.25, 4.0) * test.color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7370000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.7350000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19011</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (in float a)
{
	a = -a;
	return 2.0 * a;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9940000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.329000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40414</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (in float a)
{
	a = -a;
	return 2.0 * a;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.609</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.868</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39531</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void func (out float a)
{
	a = -1.0;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8839999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.484999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38654</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void func (out float a)
{
	a = -1.0;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.763</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38831</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void func (inout float a)
{
	a = -a;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9750000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.446999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38656</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void func (inout float a)
{
	a = -a;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.399</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7040000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_lowp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (in lowp float a)
{
	a = -a;
	return 2.0 * a;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8809999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.305999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39584</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_lowp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (in lowp float a)
{
	a = -a;
	return 2.0 * a;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6120000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.877000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40418</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_lowp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void func (out lowp float a)
{
	a = -1.0;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.835</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.343999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38888</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_lowp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void func (out lowp float a)
{
	a = -1.0;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4900000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6630000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37800</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_lowp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void func (inout lowp float a)
{
	a = -a;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.456</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39690</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_lowp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void func (inout lowp float a)
{
	a = -a;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.496</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7260000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37786</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_highp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (in highp float a)
{
	a = -a;
	return 2.0 * a;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.972</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.301</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39738</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_highp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (in highp float a)
{
	a = -a;
	return 2.0 * a;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6499999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.925000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40468</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_highp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void func (out highp float a)
{
	a = -1.0;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.964</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.398</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_highp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void func (out highp float a)
{
	a = -1.0;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4849999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7309999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38837</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_highp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


void func (inout highp float a)
{
	a = -a;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.907</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.430999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_highp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


void func (inout highp float a)
{
	a = -a;
}

void main()
{
	
	float f = 1.0;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5059999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7739999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39055</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (const float a)
{
	float b = -a;
	return 2.0 * b;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.089</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.337</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39765</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (const float a)
{
	float b = -a;
	return 2.0 * b;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6869999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.869999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39325</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_in_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (const in float a)
{
	float b = -a;
	return 2.0 * b;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.365</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_in_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (const in float a)
{
	float b = -a;
	return 2.0 * b;
}

void main()
{
	
	float f = in0;
	float g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.645</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.93</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39419</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (in int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	int in0 = int(a_in0);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.274</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.852</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41210</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (in int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5099999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.08</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40052</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void func (out int a)
{
	a = -1;
}

void main()
{
	int in0 = int(a_in0);

	int f = 1;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.702999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40389</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void func (out int a)
{
	a = -1;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = 1;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9320000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37569</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void func (inout int a)
{
	a = -a;
}

void main()
{
	int in0 = int(a_in0);

	int f = 1;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.817</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void func (inout int a)
{
	a = -a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = 1;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3559999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0429999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37578</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_lowp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (in lowp int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	int in0 = int(a_in0);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.603</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41756</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_lowp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (in lowp int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4470000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.157</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38190</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_lowp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void func (out lowp int a)
{
	a = -1;
}

void main()
{
	int in0 = int(a_in0);

	int f = 1;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.84</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40590</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_lowp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void func (out lowp int a)
{
	a = -1;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = 1;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">238.49899300000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">811.34698500000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1074120</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_lowp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void func (inout lowp int a)
{
	a = -a;
}

void main()
{
	int in0 = int(a_in0);

	int f = 1;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.503</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42416</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_lowp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void func (inout lowp int a)
{
	a = -a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = 1;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4020000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.013999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37743</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_highp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (in highp int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	int in0 = int(a_in0);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2509999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.840999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42084</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_highp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (in highp int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3900000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.887</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39877</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_highp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void func (out highp int a)
{
	a = -1;
}

void main()
{
	int in0 = int(a_in0);

	int f = 1;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.218</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.792999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_highp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void func (out highp int a)
{
	a = -1;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = 1;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4550000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9299999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36690</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_highp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


void func (inout highp int a)
{
	a = -a;
}

void main()
{
	int in0 = int(a_in0);

	int f = 1;
	func(f);
	out0 = f * in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0179999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.878</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39588</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_highp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


void func (inout highp int a)
{
	a = -a;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = 1;
	func(f);
	out0 = f * in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4039999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9900000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (const int a)
{
	int b = -a;
	return 2 * b;
}

void main()
{
	int in0 = int(a_in0);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.532</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42577</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (const int a)
{
	int b = -a;
	return 2 * b;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3239999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.125</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39080</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_in_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (const in int a)
{
	int b = -a;
	return 2 * b;
}

void main()
{
	int in0 = int(a_in0);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.906000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41227</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.const_in_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (const in int a)
{
	int b = -a;
	return 2 * b;
}

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int f = in0;
	int g = func(f);
	out0 = f + g;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5579999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.079000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39098</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


bool func (in bool a)
{
	a = !a;
	return a;
}

void main()
{
	bool in0 = bool(a_in0);

	bool f = in0;
	bool g = func(f);
	out0 = (f != g);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.138</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30292</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.in_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


bool func (in bool a)
{
	a = !a;
	return a;
}

void main()
{
	bool in0 = bool(v_in0);

	bool f = in0;
	bool g = func(f);
	out0 = (f != g);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3719999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0589999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28139</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


void func (out bool a)
{
	a = false;
}

void main()
{
	bool in0 = bool(a_in0);

	bool f = true;
	func(f);
	out0 = (in0 == f);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.113</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.324</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29186</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.out_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


void func (out bool a)
{
	a = false;
}

void main()
{
	bool in0 = bool(v_in0);

	bool f = true;
	func(f);
	out0 = (in0 == f);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3149999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.593</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28544</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


void func (inout bool a)
{
	a = !a;
}

void main()
{
	bool in0 = bool(a_in0);

	bool f = true;
	func(f);
	out0 = (in0 == f);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.399</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.776</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.qualifiers.inout_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


void func (inout bool a)
{
	a = !a;
}

void main()
{
	bool in0 = bool(v_in0);

	bool f = true;
	func(f);
	out0 = (in0 == f);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8620000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.59</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32861</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.declarations.void_vs_no_void_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func ();

void main()
{
	out0 = func() * in0;
	gl_Position = dEQP_Position;

}

float func (void)
{
	return -1.0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1970000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.564</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52800</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.declarations.void_vs_no_void_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func ();

void main()
{
	out0 = func() * in0;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float func (void)
{
	return -1.0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4369999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8309999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37939</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.declarations.in_vs_no_in_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float f);

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}

float func (in float f)
{
	return -f;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.653</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.446</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38254</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.declarations.in_vs_no_in_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float f);

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float func (in float f)
{
	return -f;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4740000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6379999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38748</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.declarations.default_vs_explicit_precision_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float f);

void main()
{
	out0 = func(in0);
	gl_Position = dEQP_Position;

}

float func (mediump float f)
{
	return -f;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7360000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38407</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.declarations.default_vs_explicit_precision_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float f);

void main()
{
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float func (mediump float f)
{
	return -f;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2719999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7650000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37564</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_type_simple_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	return -a;
}

int func (int a)
{
	return -a;
}

void main()
{
	out0 = func(in0) * float(func(-1));
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0550000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.6</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38793</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_type_simple_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	return -a;
}

int func (int a)
{
	return -a;
}

void main()
{
	out0 = func(in0) * float(func(-1));
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.673</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.957000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39132</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_float_types_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a) { return -a; }
vec2 func (vec2 a) { return a.yx; }
vec3 func (vec3 a) { return a.xxx; }
vec4 func (vec4 a) { return a.wwww; }

void main()
{
	out0 = func(func(func(func(vec4(in0)).xyz).xy).x);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3370000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.486000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39999</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_float_types_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a) { return -a; }
vec2 func (vec2 a) { return a.yx; }
vec3 func (vec3 a) { return a.xxx; }
vec4 func (vec4 a) { return a.wwww; }

void main()
{
	out0 = func(func(func(func(vec4(in0)).xyz).xy).x);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.992</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.974</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39625</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_int_types_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (int a) { return -a; }
ivec2 func (ivec2 a) { return a.yx; }
ivec3 func (ivec3 a) { return a.xxx; }
ivec4 func (ivec4 a) { return a.wwww; }

void main()
{
	int in0 = int(a_in0);

	out0 = func(func(func(func(ivec4(in0)).xyz).xy).x);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.117000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40254</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_int_types_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (int a) { return -a; }
ivec2 func (ivec2 a) { return a.yx; }
ivec3 func (ivec3 a) { return a.xxx; }
ivec4 func (ivec4 a) { return a.wwww; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(func(func(func(ivec4(in0)).xyz).xy).x);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7829999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38215</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_bool_types_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
bool out0;


bool func (bool a) { return !a; }
bvec2 func (bvec2 a) { return a.yx; }
bvec3 func (bvec3 a) { return a.xxx; }
bvec4 func (bvec4 a) { return a.wwww; }

void main()
{
	bool in0 = bool(a_in0);

	out0 = func(func(func(func(bvec4(in0)).xyz).xy).x);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, bool b) { return ((a &gt; 0.5) == b); }

varying float v_out0;
uniform bool ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.524</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.225</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30146</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_bool_types_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bool a, bool b)   { return (a == b); }
varying float v_in0;
uniform bool ref_out0;
bool out0;


bool func (bool a) { return !a; }
bvec2 func (bvec2 a) { return a.yx; }
bvec3 func (bvec3 a) { return a.xxx; }
bvec4 func (bvec4 a) { return a.wwww; }

void main()
{
	bool in0 = bool(v_in0);

	out0 = func(func(func(func(bvec4(in0)).xyz).xy).x);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7029999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3800000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28213</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_basic_types_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a) { return -a; }
vec2 func (vec2 a) { return a.yx; }
vec3 func (vec3 a) { return a.xxx; }
vec4 func (vec4 a) { return a.wwww; }
int func (int a) { return -a; }
ivec2 func (ivec2 a) { return a.yx; }
ivec3 func (ivec3 a) { return a.xxx; }
ivec4 func (ivec4 a) { return a.wwww; }
bool func (bool a) { return !a; }
bvec2 func (bvec2 a) { return a.yx; }
bvec3 func (bvec3 a) { return a.xxx; }
bvec4 func (bvec4 a) { return a.wwww; }

void main()
{
	
	if (func(func(bvec4(false)).x))
		out0 = func(in0) * float(func(-1));
	else
		out0 = float(func(func(ivec4(func(func(func(vec4(0.5)).xyz).xy).xxxx)).xy).x);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.7190000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.195</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43327</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_basic_types_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a) { return -a; }
vec2 func (vec2 a) { return a.yx; }
vec3 func (vec3 a) { return a.xxx; }
vec4 func (vec4 a) { return a.wwww; }
int func (int a) { return -a; }
ivec2 func (ivec2 a) { return a.yx; }
ivec3 func (ivec3 a) { return a.xxx; }
ivec4 func (ivec4 a) { return a.wwww; }
bool func (bool a) { return !a; }
bvec2 func (bvec2 a) { return a.yx; }
bvec3 func (bvec3 a) { return a.xxx; }
bvec4 func (bvec4 a) { return a.wwww; }

void main()
{
	
	if (func(func(bvec4(false)).x))
		out0 = func(in0) * float(func(-1));
	else
		out0 = float(func(func(ivec4(func(func(func(vec4(0.5)).xyz).xy).xxxx)).xy).x);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.3159999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.83</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41797</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_complex_types_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


struct Pos { float a, b, c; };
struct Line { Pos start, end; };

float func (float a) { return -a; }
float func (float a[4]) { return a[0] + a[3]; }
vec2 func (vec2 a) { return a.yx; }
vec3 func (vec3 a) { return a.xxx; }
vec4 func (vec4 a) { return a.wwww; }
vec4 func (vec4 a[4]) { return a[1] + a[2]; }
int func (int a) { return -a; }
ivec2 func (ivec2 a) { return a.yx; }
ivec3 func (ivec3 a) { return a.xxx; }
ivec4 func (ivec4 a) { return a.wwww; }
bool func (bool a) { return !a; }
bvec2 func (bvec2 a) { return a.yx; }
bvec3 func (bvec3 a) { return a.xxx; }
bvec4 func (bvec4 a) { return a.wwww; }
Pos func (Pos a) { return a; }
Line func (Line a) { return Line(a.end, a.start); }

void main()
{
	
	float arr[4];
	vec4 arr2[4];
	out0 = func(arr) + func(arr2).x;
	if (func(func(bvec4(false)).x))
		out0 = func(in0) * float(func(-1));
	else
		out0 = float(func(func(ivec4(func(func(func(vec4(0.5)).xyz).xy).xxxx)).xy).x);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:33(14): warning: `arr&apos; used uninitialized
0:33(26): warning: `arr2&apos; used uninitialized
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.7270000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.601000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45806</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arg_complex_types_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


struct Pos { float a, b, c; };
struct Line { Pos start, end; };

float func (float a) { return -a; }
float func (float a[4]) { return a[0] + a[3]; }
vec2 func (vec2 a) { return a.yx; }
vec3 func (vec3 a) { return a.xxx; }
vec4 func (vec4 a) { return a.wwww; }
vec4 func (vec4 a[4]) { return a[1] + a[2]; }
int func (int a) { return -a; }
ivec2 func (ivec2 a) { return a.yx; }
ivec3 func (ivec3 a) { return a.xxx; }
ivec4 func (ivec4 a) { return a.wwww; }
bool func (bool a) { return !a; }
bvec2 func (bvec2 a) { return a.yx; }
bvec3 func (bvec3 a) { return a.xxx; }
bvec4 func (bvec4 a) { return a.wwww; }
Pos func (Pos a) { return a; }
Line func (Line a) { return Line(a.end, a.start); }

void main()
{
	
	float arr[4];
	vec4 arr2[4];
	out0 = func(arr) + func(arr2).x;
	if (func(func(bvec4(false)).x))
		out0 = func(in0) * float(func(-1));
	else
		out0 = float(func(func(ivec4(func(func(func(vec4(0.5)).xyz).xy).xxxx)).xy).x);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog>0:34(14): warning: `arr&apos; used uninitialized
0:34(26): warning: `arr2&apos; used uninitialized
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.065000000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.3239999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.302</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45750</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arguments_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	return -a;
}

float func (float a, float b)
{
	return a * b;
}

void main()
{
	out0 = func(in0) * func(-0.5, -2.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.173</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.584</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38972</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.user_func_arguments_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	return -a;
}

float func (float a, float b)
{
	return a * b;
}

void main()
{
	out0 = func(in0) * func(-0.5, -2.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6480000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.051</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39356</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.builtin_sin_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int sin(int a) { return -a; }

void main()
{
	int in0 = int(a_in0);

	out0 = sin(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9780000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.842000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39499</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.builtin_sin_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int sin(int a) { return -a; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = sin(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2090000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.082000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37498</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.builtin_step_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int step (float i, float j, int a) { return -a; }

void main()
{
	int in0 = int(a_in0);

	out0 = step(0.0, 1.0, in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.891</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40683</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.builtin_step_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int step (float i, float j, int a) { return -a; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = step(0.0, 1.0, in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4079999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0120000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36744</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.array_size_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
varying float out0;


float func (float f[3])
{
	return f[0];
}

float func (float f[4])
{
	return f[1];
}

void main ()
{
	
	float x[4];
	x[0] = -1.0;
	x[1] = 1.0;
	x[2] = x[3] = 0.0;
	out0 = func(x);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.157</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.375999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25802</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.overloading.array_size_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
uniform float ref_out0;
float out0;


float func (float f[3])
{
	return f[0];
}

float func (float f[4])
{
	return f[1];
}

void main ()
{
	
	float x[4];
	x[0] = -1.0;
	x[1] = 1.0;
	x[2] = x[3] = 0.0;
	out0 = func(x);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5950000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24064</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.local_in_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


float func (in float a[4])
{
	a[0] = -1.0;
	a[2] = -4.0;
	a[3] = -3.0 * a[1];
	return a[0];
}

void main()
{
	float arr[4];
	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	float f = func(arr);
	out0 = f * vec4(arr[0], arr[1], arr[2], arr[3]);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6429999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.585999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38468</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.local_in_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


float func (in float a[4])
{
	a[0] = -1.0;
	a[2] = -4.0;
	a[3] = -3.0 * a[1];
	return a[0];
}

void main()
{
	float arr[4];
	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	float f = func(arr);
	out0 = f * vec4(arr[0], arr[1], arr[2], arr[3]);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5119999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.709</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36651</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.global_in_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


float func (in float a[4])
{
	a[0] = -1.0;
	a[2] = -4.0;
	a[3] = -3.0 * a[1];
	return a[0];
}

float arr[4];

void main()
{
	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	float f = func(arr);
	out0 = f * vec4(arr[0], arr[1], arr[2], arr[3]);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6789999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.530999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.global_in_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


float func (in float a[4])
{
	a[0] = -1.0;
	a[2] = -4.0;
	a[3] = -3.0 * a[1];
	return a[0];
}

float arr[4];

void main()
{
	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	float f = func(arr);
	out0 = f * vec4(arr[0], arr[1], arr[2], arr[3]);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4059999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.691998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.local_in_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


int func (in int a[4])
{
	a[0] = -1;
	a[2] = -4;
	a[3] = -3 * a[1];
	return a[0];
}

void main()
{
	ivec4 in0 = ivec4(a_in0);

	int arr[4];
	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	int f = func(arr);
	out0 = f * ivec4(arr[0], arr[1], arr[2], arr[3]);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.898</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37272</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.local_in_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


int func (in int a[4])
{
	a[0] = -1;
	a[2] = -4;
	a[3] = -3 * a[1];
	return a[0];
}

void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	int arr[4];
	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	int f = func(arr);
	out0 = f * ivec4(arr[0], arr[1], arr[2], arr[3]);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.125</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.756</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34108</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.global_in_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
ivec4 out0;


int func (in int a[4])
{
	a[0] = -1;
	a[2] = -4;
	a[3] = -3 * a[1];
	return a[0];
}

int arr[4];

void main()
{
	ivec4 in0 = ivec4(a_in0);

	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	int f = func(arr);
	out0 = f * ivec4(arr[0], arr[1], arr[2], arr[3]);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}

</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, ivec4 b) { return (ivec4(floor(a + 0.5)) == b); }

varying vec4 v_out0;
uniform ivec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.04</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.859</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37277</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.global_in_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (ivec4 a, ivec4 b) { return (a == b); }
varying vec4 v_in0;
uniform ivec4 ref_out0;
ivec4 out0;


int func (in int a[4])
{
	a[0] = -1;
	a[2] = -4;
	a[3] = -3 * a[1];
	return a[0];
}

int arr[4];

void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	arr[0] = in0.x;
	arr[1] = in0.y;
	arr[2] = in0.z;
	arr[3] = in0.w;
	int f = func(arr);
	out0 = f * ivec4(arr[0], arr[1], arr[2], arr[3]);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2610000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.864000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34287</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.local_in_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


bool func (in bool a[4])
{
	a[0] = false;
	a[2] = true;
	a[3] = !a[1];
	return a[0];
}

void main()
{
	bvec4 in0 = bvec4(a_in0);

	bool arr[4];
	arr[0] = !in0.x;
	arr[1] = !in0.y;
	arr[2] = !in0.z;
	arr[3] = !in0.w;
	func(arr);
	out0 = bvec4(arr[0], arr[1], arr[2], arr[3]);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.045999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37857</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.local_in_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


bool func (in bool a[4])
{
	a[0] = false;
	a[2] = true;
	a[3] = !a[1];
	return a[0];
}

void main()
{
	bvec4 in0 = bvec4(v_in0);

	bool arr[4];
	arr[0] = !in0.x;
	arr[1] = !in0.y;
	arr[2] = !in0.z;
	arr[3] = !in0.w;
	func(arr);
	out0 = bvec4(arr[0], arr[1], arr[2], arr[3]);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0919999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.82</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33973</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.global_in_bool_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_out0;
bvec4 out0;


bool func (in bool a[4])
{
	a[0] = false;
	a[2] = true;
	a[3] = !a[1];
	return a[0];
}

bool arr[4];

void main()
{
	bvec4 in0 = bvec4(a_in0);

	arr[0] = !in0.x;
	arr[1] = !in0.y;
	arr[2] = !in0.z;
	arr[3] = !in0.w;
	func(arr);
	out0 = bvec4(arr[0], arr[1], arr[2], arr[3]);
	gl_Position = dEQP_Position;
v_out0 = vec4(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, bvec4 b) { return (greaterThan(a, vec4(0.5)) == b); }

varying vec4 v_out0;
uniform bvec4 ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.843</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.108000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37948</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.global_in_bool_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (bvec4 a, bvec4 b) { return (a == b); }
varying vec4 v_in0;
uniform bvec4 ref_out0;
bvec4 out0;


bool func (in bool a[4])
{
	a[0] = false;
	a[2] = true;
	a[3] = !a[1];
	return a[0];
}

bool arr[4];

void main()
{
	bvec4 in0 = bvec4(v_in0);

	arr[0] = !in0.x;
	arr[1] = !in0.y;
	arr[2] = !in0.z;
	arr[3] = !in0.w;
	func(arr);
	out0 = bvec4(arr[0], arr[1], arr[2], arr[3]);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0570000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.843999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34041</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.test_helpers_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

void main()
{
	float arr[4];
	set(arr, in0);
	negate(arr);
	out0 = float(test(arr, -in0));
	gl_Position = dEQP_Position;

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.7039999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.150998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41145</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.test_helpers_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

void main()
{
	float arr[4];
	set(arr, in0);
	negate(arr);
	out0 = float(test(arr, -in0));
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.226</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.070999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_local_in_on_call_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (in float a[4], in float b[4])
{
	a[0] = 2.123;
	a[2] = -4.123;
	return isEqual(a, b) ? 1.0 : -1.0;
}

void main()
{
	float arr[4];
	set(arr, in0);
	out0 = in0 * func(arr, arr);
	gl_Position = dEQP_Position;

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.1680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.158000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52325</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_local_in_on_call_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (in float a[4], in float b[4])
{
	a[0] = 2.123;
	a[2] = -4.123;
	return isEqual(a, b) ? 1.0 : -1.0;
}

void main()
{
	float arr[4];
	set(arr, in0);
	out0 = in0 * func(arr, arr);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.8899999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51726</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_global_in_on_call_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (in float a[4], in float b[4])
{
	a[0] = 2.123;
	a[2] = -4.123;
	return isEqual(a, b) ? 1.0 : -1.0;
}

float arr[4];

void main()
{
	set(arr, in0);
	out0 = in0 * func(arr, arr);
	gl_Position = dEQP_Position;

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.218</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.957001000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52355</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_global_in_on_call_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (in float a[4], in float b[4])
{
	a[0] = 2.123;
	a[2] = -4.123;
	return isEqual(a, b) ? 1.0 : -1.0;
}

float arr[4];

void main()
{
	set(arr, in0);
	out0 = in0 * func(arr, arr);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.8659999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.799999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_local_inout_on_call_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (inout float a[4], inout float b[4])
{
	negate(a);
	return isEqual(a, b) ? 1.0 : -1.0;
}

void main()
{
	float arr[4];
	set(arr, in0);
	float m = func(arr, arr); // returns -1.0
	float n = float(test(arr, in0) || test(arr, -in0));
	out0 = in0 * m * n;
	gl_Position = dEQP_Position;

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.3109999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.953999000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60598</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_local_inout_on_call_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (inout float a[4], inout float b[4])
{
	negate(a);
	return isEqual(a, b) ? 1.0 : -1.0;
}

void main()
{
	float arr[4];
	set(arr, in0);
	float m = func(arr, arr); // returns -1.0
	float n = float(test(arr, in0) || test(arr, -in0));
	out0 = in0 * m * n;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.1230000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.900002000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60764</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_global_inout_on_call_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (in float a[4], in float b[4])
{
	negate(a);
	return isEqual(a, b) ? 1.0 : -1.0;
}

float arr[4];

void main()
{
	set(arr, in0);
	float m = func(arr, arr); // returns -1.0
	float n = float(test(arr, in0) || test(arr, -in0));
	out0 = in0 * m * n;
	gl_Position = dEQP_Position;

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">6.4809999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.054001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59713</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.array_arguments.copy_global_inout_on_call_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
varying vec4 in0;
uniform vec4 ref_out0;
vec4 out0;


vec4 get (in float arr[4]);
void set (out float arr[4], vec4 val);
void negate (inout float arr[4]);
bool test (in float arr[4], vec4 ref);
bool isEqual (in float a[4], in float b[4]);

float func (in float a[4], in float b[4])
{
	negate(a);
	return isEqual(a, b) ? 1.0 : -1.0;
}

float arr[4];

void main()
{
	set(arr, in0);
	float m = func(arr, arr); // returns -1.0
	float n = float(test(arr, in0) || test(arr, -in0));
	out0 = in0 * m * n;
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}

float absDiff (vec4 a, vec4 b) { vec4 d = abs(a - b); return max(max(d.x, d.y), max(d.z, d.w)); }
vec4 get (in float arr[4]) { return vec4(arr[0], arr[1], arr[2], arr[3]); }
void set (out float arr[4], vec4 val) { arr[0] = val.x; arr[1] = val.y; arr[2] = val.z; arr[3] = val.w; }
void negate (inout float arr[4]) { set(arr, -get(arr)); }
bool test (in float arr[4], vec4 ref) { return (absDiff(get(arr), ref) &lt; 0.1); }
bool isEqual (in float a[4], in float b[4]) { return (absDiff(get(a), get(b)) &lt; 0.1); }
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.0910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.737000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60520</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.simple_return_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	return -a;
	a = a * -1.0;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.717000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.simple_return_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	return -a;
	a = a * -1.0;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8019999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27870</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_if_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	if (a != 0.0)
		return -a;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9660000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.733000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32458</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_if_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	if (a != 0.0)
		return -a;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4780000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.157999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30673</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_else_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	if (a == 0.0)
		return 1.0;
	else
		return -a;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.372999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31116</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_else_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	if (a == 0.0)
		return 1.0;
	else
		return -a;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.609</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.653</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31446</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_loop_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 1; i++)
		return -a;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.222</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33296</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_loop_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 1; i++)
		return -a;
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6520000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.375999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33314</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_loop_if_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 3; i++)
	{
		if (i == 1)
			return a;
		else if (i &gt; 1)
			return -1.0;
		a = -a;
	}
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5840000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.865998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39793</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_loop_if_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 3; i++)
	{
		if (i == 1)
			return a;
		else if (i &gt; 1)
			return -1.0;
		a = -a;
	}
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0499999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.149999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40164</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_loop_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 5; i++)
		a = -a;
	return a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7240000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.558999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31765</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_loop_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 5; i++)
		a = -a;
	return a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3449999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30056</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		a = -a;
		if (i == 4)
			break;
	}
	return a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.633</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.66</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30676</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		a = -a;
		if (i == 4)
			break;
	}
	return a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3499999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.829000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31071</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		if (i == 4)
			continue;
		a = -a;
	}
	return a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.925000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36318</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		if (i == 4)
			continue;
		a = -a;
	}
	return a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9630000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.236999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37993</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_nested_loop_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		a = -a;
		for (int j = 0; j &lt; 4; j++)
		{
			a = -a;
			if (i == 1)
				return a;
		}
		if (i == 4)
			return 1.0;
	}
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.6609999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.818000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53772</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_in_nested_loop_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		a = -a;
		for (int j = 0; j &lt; 4; j++)
		{
			a = -a;
			if (i == 1)
				return a;
		}
		if (i == 4)
			return 1.0;
	}
	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.3179999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.254999000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56117</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_loop_sequence_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	int i;
	for (i = 0; i &lt; 6; i++) // negate a
	{
		a = -a;
		if (i == 4)
			a = -a;
	}

	for (; i &lt; 10; i++) // keep a
	{
		if (i == 8)
			continue;
		else if (i == 9)
			break;
		a = -a;
	}

	return a;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.0510000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.242999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43102</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.return_after_loop_sequence_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	int i;
	for (i = 0; i &lt; 6; i++) // negate a
	{
		a = -a;
		if (i == 4)
			a = -a;
	}

	for (; i &lt; 10; i++) // keep a
	{
		if (i == 8)
			continue;
		else if (i == 9)
			break;
		a = -a;
	}

	return a;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.6020000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.988001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43470</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.mixed_return_break_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		if (i == 0)
			continue;
		else if (i == 1)
		{
		}
		else if (i == 3)
			break;
		else
			return a;
		a = -a;
	}

	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.312999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49580</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.control_flow.mixed_return_break_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float a)
{
	for (int i = 0; i &lt; 6; i++)
	{
		if (i == 0)
			continue;
		else if (i == 1)
		{
		}
		else if (i == 3)
			break;
		else
			return a;
		a = -a;
	}

	return 1.0;
}

void main()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3170000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.202000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46280</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.multi_arg_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute vec4 in0;
varying float out0;


float sum(vec4 v) { return (v.x + v.y + v.z + v.w); }

float func (float a, vec3 b, vec2 c, vec2 d, vec4 e)
{
	return -sum(vec4(a, b) + vec4(c, d)) + sum(e);
}

void main()
{
	
	out0 = func(in0.y, in0.xzw, in0.wz, in0.yx, in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6360000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.814</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37134</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.multi_arg_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying vec4 in0;
uniform float ref_out0;
float out0;


float sum(vec4 v) { return (v.x + v.y + v.z + v.w); }

float func (float a, vec3 b, vec2 c, vec2 d, vec4 e)
{
	return -sum(vec4(a, b) + vec4(c, d)) + sum(e);
}

void main()
{
	
	out0 = func(in0.y, in0.xzw, in0.wz, in0.yx, in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.157</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.058</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35120</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.multi_arg_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying float v_out0;
int out0;


int sum(ivec4 v) { return (v.x + v.y + v.z + v.w); }

int func (int a, ivec3 b, ivec2 c, ivec2 d, ivec4 e)
{
	return -sum(ivec4(a, b) + ivec4(c, d)) + sum(e);
}

void main()
{
	ivec4 in0 = ivec4(a_in0);

	out0 = func(in0.y, in0.xzw, in0.wz, in0.yx, in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.698</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.222999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38073</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.multi_arg_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute vec4 a_in0;
varying vec4 v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
precision mediump int;
bool isOk (int a, int b)     { return (a == b); }
varying vec4 v_in0;
uniform int ref_out0;
int out0;


int sum(ivec4 v) { return (v.x + v.y + v.z + v.w); }

int func (int a, ivec3 b, ivec2 c, ivec2 d, ivec4 e)
{
	return -sum(ivec4(a, b) + ivec4(c, d)) + sum(e);
}

void main()
{
	ivec4 in0 = ivec4(v_in0 * 1.0025);

	out0 = func(in0.y, in0.xzw, in0.wz, in0.yx, in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.922000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.argument_eval_order_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (float a, int b, bool c, int d)
{
	if (c)
		return b + int(a) + d;
	else
		return -1;
}

void main ()
{
	int in0 = int(a_in0);

	float v0 = float(in0);
	int v1 = in0;
	out0 = func((v0 += 1.0), v1++, (v0 &gt; 1.5), v1);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7090000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.159000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46514</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.argument_eval_order_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (float a, int b, bool c, int d)
{
	if (c)
		return b + int(a) + d;
	else
		return -1;
}

void main ()
{
	int in0 = int(v_in0 * 1.0025);

	float v0 = float(in0);
	int v1 = in0;
	out0 = func((v0 += 1.0), v1++, (v0 &gt; 1.5), v1);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.568</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42596</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.argument_eval_order_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int g;

int modG (int v)
{
	g += v;
	return v;
}

int func (float a, int b, bool c, int d)
{
	if (c)
		return b + int(a) + d;
	else
		return -1;
}

void main ()
{
	int in0 = int(a_in0);

	out0 = func(float(g = in0), modG(2), --g &gt; 0, g);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5990000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.254000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.argument_eval_order_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int g;

int modG (int v)
{
	g += v;
	return v;
}

int func (float a, int b, bool c, int d)
{
	if (c)
		return b + int(a) + d;
	else
		return -1;
}

void main ()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(float(g = in0), modG(2), --g &gt; 0, g);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9039999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.683</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42381</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.missing_returns_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>// Note specification says that returned value is undefined if no return
// statement has been executed. In this case func() is called only with
// positive values.
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float in0;
varying float out0;


float func (float f)
{
	if (f &gt; 0.0)
		return -f;
}

void main ()
{
	
	out0 = func(in0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }

varying float out0;
uniform float ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7629999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.616</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35534</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.misc.missing_returns_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float in0;

void main()
{
	gl_Position = dEQP_Position;
	in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>// Note specification says that returned value is undefined if no return
// statement has been executed. In this case func() is called only with
// positive values.
precision mediump float;
bool isOk (float a, float b, float eps) { return (abs(a-b) &lt;= (eps*abs(b) + eps)); }
varying float in0;
uniform float ref_out0;
float out0;


float func (float f)
{
	if (f &gt; 0.0)
		return -f;
}

void main ()
{
	
	out0 = func(in0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5579999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.313000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35543</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.break_in_body_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func ()
{
	break;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: break may only appear in a loop or a switch
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.835</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4140</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.break_in_body_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func ()
{
	break;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: break may only appear in a loop or a switch
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6930000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3924</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.continue_in_body_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func ()
{
	continue;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: continue may only appear in a loop
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8080000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4145</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.continue_in_body_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func ()
{
	continue;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: continue may only appear in a loop
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.663</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3921</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_value_from_void_function_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func ()
{
	return 1.0;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: `return&apos; with wrong type float, in function `func&apos; returning void
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4109</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_value_from_void_function_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func ()
{
	return 1.0;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: `return&apos; with wrong type float, in function `func&apos; returning void
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.758</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3950</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.extra_arguments_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (float f)
{
}

void main ()
{
	func(1.0, 2.0);
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func(float, float)&apos;; candidates are:
0:9(2): error:    void func(float)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9910000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4227</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.extra_arguments_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (float f)
{
}

void main ()
{
	func(1.0, 2.0);
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func(float, float)&apos;; candidates are:
0:9(2): error:    void func(float)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8720000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4077</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.missing_arguments_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (float f)
{
}

void main ()
{
	func();
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func()&apos;; candidates are:
0:9(2): error:    void func(float)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4169</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.missing_arguments_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (float f)
{
}

void main ()
{
	func();
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func()&apos;; candidates are:
0:9(2): error:    void func(float)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7809999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4045</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.missing_argument_type_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (in f)
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(15): error: syntax error, unexpected NEW_IDENTIFIER
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.64100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2780</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.missing_argument_type_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (in f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(15): error: syntax error, unexpected NEW_IDENTIFIER
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_basetype_mismatch_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

void func (float f)
{
}

void main ()
{
	func(2);
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:10(2): error: no matching function for call to `func(int)&apos;; candidates are:
0:10(2): error:    void func(float)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4116</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_basetype_mismatch_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

void func (float f)
{
}

void main ()
{
	func(2);
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:10(2): error: no matching function for call to `func(int)&apos;; candidates are:
0:10(2): error:    void func(float)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.885</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4078</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_scalar_vector_mismatch_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec2 f)
{
}

void main ()
{
	func(2.0);
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func(float)&apos;; candidates are:
0:9(2): error:    void func(vec2)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.96</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4164</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_scalar_vector_mismatch_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec2 f)
{
}

void main ()
{
	func(2.0);
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func(float)&apos;; candidates are:
0:9(2): error:    void func(vec2)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4087</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_vector_size_mismatch_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
}

void main ()
{
	func(vec2(2.0));
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func(vec2)&apos;; candidates are:
0:9(2): error:    void func(vec3)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.887</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4223</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_vector_size_mismatch_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
}

void main ()
{
	func(vec2(2.0));
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(2): error: no matching function for call to `func(vec2)&apos;; candidates are:
0:9(2): error:    void func(vec3)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.duplicate_function_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f);

void func (vec3 f)
{
}

void func (vec3 f)
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(6): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.901</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.duplicate_function_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f);

void func (vec3 f)
{
}

void func (vec3 f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(6): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.823</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4148</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_return_type_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f);

void main ()
{
	gl_Position = vec4(1.0);
}

float func (vec3 f)
{
	return f.x;
}
</ShaderSource>
        <InfoLog>0:10(7): error: function `func&apos; return type doesn&apos;t match prototype
0:10(7): error: function `func&apos; return type precision doesn&apos;t match prototype
0:12(2): error: `return&apos; with wrong type float, in function `func&apos; returning void
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9710000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4304</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_return_type_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f);

void main ()
{
	gl_FragColor = vec4(1.0);
}

float func (vec3 f)
{
	return f.x;
}
</ShaderSource>
        <InfoLog>0:10(7): error: function `func&apos; return type doesn&apos;t match prototype
0:10(7): error: function `func&apos; return type precision doesn&apos;t match prototype
0:12(2): error: `return&apos; with wrong type float, in function `func&apos; returning void
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.891</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4112</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_unspecified_array_size_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f[]);

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(12): error: arrays passed as parameters must have a declared size
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8779999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4159</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_unspecified_array_size_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f[]);

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(12): error: arrays passed as parameters must have a declared size
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.754</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3955</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.call_mismatch_argument_array_size_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f[3]);
void func (vec3 f[3])
{
}

void main ()
{
	vec3 array[4];
	func(array);
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:11(2): error: no matching function for call to `func(vec3[4])&apos;; candidates are:
0:11(2): error:    void func(vec3[3])
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0529999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4411</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.call_mismatch_argument_array_size_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f[3]);
void func (vec3 f[3])
{
}

void main ()
{
	vec3 array[4];
	func(array);
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:11(2): error: no matching function for call to `func(vec3[4])&apos;; candidates are:
0:11(2): error:    void func(vec3[3])
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9650000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4347</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_argument_const_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f);
void func (const vec3 f)
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4059</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_argument_const_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f);
void func (const vec3 f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.736</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4056</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_argument_array_const_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f[3]);
void func (const vec3 f[3])
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.927</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4214</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_argument_array_const_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f[3]);
void func (const vec3 f[3])
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8360000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4140</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_array_inout_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (out vec3 f);
void func (inout vec3 f)
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.881</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4174</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.prototype_mismatch_array_inout_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (out vec3 f);
void func (inout vec3 f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:4(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.821</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4026</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.missing_return_type_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

func (float f);
func (inout vec3 f[3])
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.751</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2959</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.missing_return_type_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

func (float f);
func (inout vec3 f[3])
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53500000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2686</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.call_before_definition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void main ()
{
	func(1.0);
	gl_Position = vec4(1.0);
}

void func (float f)
{
}

</ShaderSource>
        <InfoLog>0:5(2): error: no function with name &apos;func&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8400000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4052</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.call_before_definition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void main ()
{
	func(1.0);
	gl_FragColor = vec4(1.0);
}

void func (float f)
{
}

</ShaderSource>
        <InfoLog>0:5(2): error: no function with name &apos;func&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8140000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4007</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_array_in_struct_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

struct Foo
{
	float f;
	float arr[2];
};

Foo func ()
{
	Foo f;
	f.f = 1.0;
	f.arr[0] = 2.0;
	return f;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(5): error: function `func&apos; return type contains an array
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1539999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_array_in_struct_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

struct Foo
{
	float f;
	float arr[2];
};

Foo func ()
{
	Foo f;
	f.f = 1.0;
	f.arr[0] = 2.0;
	return f;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:9(5): error: function `func&apos; return type contains an array
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0449999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4295</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_precision_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (lowp float f)
{
	return f;
}

float func (mediump float f)
{
	return f;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(7): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9279999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4262</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_precision_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (lowp float f)
{
	return f;
}

float func (mediump float f)
{
	return f;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(7): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.835</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4083</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_in_out_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (in float f)
{
}

void func (out float f)
{
	f = 1.0;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:7(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:7(6): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4193</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_in_out_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (in float f)
{
}

void func (out float f)
{
	f = 1.0;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:7(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:7(6): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.829</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4149</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_in_inout_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (in float f)
{
}

void func (inout float f)
{
	f = -f;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:7(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:7(6): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9790000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4303</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_in_inout_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (in float f)
{
}

void func (inout float f)
{
	f = -f;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:7(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:7(6): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.915</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4133</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_out_inout_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (out float f)
{
	f = -1.0;
}

void func (inout float f)
{
	f = -f;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:8(6): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4242</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.argument_out_inout_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (out float f)
{
	f = -1.0;
}

void func (inout float f)
{
	f = -f;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:8(6): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9750000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4263</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_type_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (float f)
{
	return f;
}

int func (float f)
{
	return int(f);
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(5): error: function `func&apos; return type doesn&apos;t match prototype
0:8(5): error: function `func&apos; return type precision doesn&apos;t match prototype
0:8(5): error: function `func&apos; redefined
0:10(2): error: `return&apos; with wrong type int, in function `func&apos; returning float
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9950000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4307</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_type_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (float f)
{
	return f;
}

int func (float f)
{
	return int(f);
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(5): error: function `func&apos; return type doesn&apos;t match prototype
0:8(5): error: function `func&apos; redefined
0:10(2): error: `return&apos; with wrong type int, in function `func&apos; returning float
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4184</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_type_precision_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

lowp float func (float f)
{
	return f;
}

mediump float func (float f)
{
	return f;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(15): error: function `func&apos; return type precision doesn&apos;t match prototype
0:8(15): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9159999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4230</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_type_precision_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

lowp float func (float f)
{
	return f;
}

mediump float func (float f)
{
	return f;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(15): error: function `func&apos; return type precision doesn&apos;t match prototype
0:8(15): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.881</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4163</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_type_const_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (float f)
{
	return f;
}

const float func (float f)
{
	return f;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(13): error: function `func&apos; return type has qualifiers
0:8(13): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4243</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_type_const_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (float f)
{
	return f;
}

const float func (float f)
{
	return f;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:8(13): error: function `func&apos; return type has qualifiers
0:8(13): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.909</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4117</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_without_value_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (float f)
{
	return;
	return 1.0;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: `return&apos; with no value, in function func returning non-void
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.869</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4161</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.return_without_value_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float func (float f)
{
	return;
	return 1.0;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: `return&apos; with no value, in function func returning non-void
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7410000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4052</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.local_function_definition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void main ()
{
	float func (float f)
	{
		return 1.0;
	}

	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:6(2): error: syntax error, unexpected &apos;{&apos;, expecting &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.68100000000000005</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.local_function_definition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void main ()
{
	float func (float f)
	{
		return 1.0;
	}

	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:6(2): error: syntax error, unexpected &apos;{&apos;, expecting &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.51500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2617</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.name_type_conflict_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

struct foo { float a; }

float foo (float f)
{
	return 1.0;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(1): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.45000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2682</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.name_type_conflict_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

struct foo { float a; }

float foo (float f)
{
	return 1.0;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(1): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.44700000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.const_overload_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
}

void func (const vec3 f)
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:7(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:7(6): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.784</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4070</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.const_overload_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
}

void func (const vec3 f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:7(6): error: function `func&apos; parameter `f&apos; qualifiers don&apos;t match prototype
0:7(6): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7869999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4130</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.uniform_local_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
	uniform float u;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: uniform variable `u&apos; must be declared at global scope
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8300000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4113</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.uniform_local_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
	uniform float u;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: uniform variable `u&apos; must be declared at global scope
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.76</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3974</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.varying_local_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
	varying float v;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: varying variable `v&apos; must be declared at global scope
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8560000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4220</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.varying_local_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
	varying float v;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: varying variable `v&apos; must be declared at global scope
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.833</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4044</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.attribute_local_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
	attribute float a;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: attribute variable `a&apos; must be declared at global scope
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4155</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.attribute_local_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (vec3 f)
{
	attribute float a;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:5(2): error: `attribute&apos; variables may not be declared in the fragment shader
0:5(2): error: illegal type for a varying variable
0:5(2): error: attribute variable `a&apos; must be declared at global scope
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.863</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4153</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.uniform_argument_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (uniform vec3 f)
{
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(12): error: syntax error, unexpected UNIFORM
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.72099999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2907</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.uniform_argument_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (uniform vec3 f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(12): error: syntax error, unexpected UNIFORM
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2591</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.attribute_argument_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void func (attribute vec3 f)
{
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(12): error: syntax error, unexpected ATTRIBUTE
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42299999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2727</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.attribute_return_type_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute float func (vec3 f)
{
	return f.x;
}

void main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(17): error: function `func&apos; return type has qualifiers
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7649999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4060</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.attribute_return_type_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute float func (vec3 f)
{
	return f.x;
}

void main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(17): error: function `func&apos; return type has qualifiers
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7549999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4000</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.main_invalid_return_type_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(7): error: main() must return void
0:3(1): error: function `main&apos; has non-void return type float, but no return statement
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.756</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4088</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.main_invalid_return_type_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

float main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(7): error: main() must return void
0:3(1): error: function `main&apos; has non-void return type float, but no return statement
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6259999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3873</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.main_has_arguments_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void main (float f)
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(6): error: main() must not take any parameters
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.7430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4000</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.main_has_arguments_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

void main (float f)
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(6): error: main() must not take any parameters
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.625</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3947</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.main_missing_return_type_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.72099999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.main_missing_return_type_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.51300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2677</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.write_const_arg_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

func (const float f)
{
	f = 1.0;
}

main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.54300000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2706</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.write_const_arg_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

func (const float f)
{
	f = 1.0;
}

main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.58099999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2672</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.write_const_array_arg_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

func (const float f[3])
{
	f[0] = 1.0;
}

main ()
{
	gl_Position = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.54400000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2705</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.write_const_array_arg_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

func (const float f[3])
{
	f[0] = 1.0;
}

main ()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: syntax error, unexpected NEW_IDENTIFIER, expecting end of file
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54200000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2747</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.modify_const_arg_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;
attribute highp vec4 dEQP_Position;


int func (const int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	gl_Position = vec4(func(3));
}
</ShaderSource>
        <InfoLog>0:8(2): error: assignment to read-only variable &apos;a&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9259999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4218</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.functions.invalid.modify_const_arg_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;


int func (const int a)
{
	a = -a;
	return 2 * a;
}

void main()
{
	gl_FragColor = vec4(func(3));
}
</ShaderSource>
        <InfoLog>0:7(2): error: assignment to read-only variable &apos;a&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.859</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4154</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.attribute_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float attribute = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected ATTRIBUTE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47799999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2778</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.attribute_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float attribute = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected ATTRIBUTE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.48299999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2631</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.const_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float const = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected CONST_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.const_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float const = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected CONST_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2635</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.uniform_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float uniform = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected UNIFORM, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47899999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.uniform_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float uniform = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected UNIFORM, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41899999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2700</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.varying_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float varying = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected VARYING, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.50800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2944</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.varying_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float varying = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected VARYING, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.46100000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2875</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.break_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float break = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected BREAK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.56499999999999995</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2896</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.break_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float break = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected BREAK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.45300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2660</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.continue_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float continue = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected CONTINUE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47799999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2682</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.continue_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float continue = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected CONTINUE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.do_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float do = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected DO, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2571</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.do_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float do = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected DO, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.43099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2602</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.for_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float for = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected FOR, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.46400000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2596</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.for_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float for = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected FOR, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41399999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2578</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.while_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float while = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected WHILE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47299999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2582</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.while_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float while = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected WHILE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41999999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2570</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.if_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float if = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected IF, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.496</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.if_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float if = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected IF, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2558</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.else_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float else = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected ELSE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47399999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2618</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.else_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float else = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected ELSE, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2560</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.in_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float in = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected IN_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47799999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.in_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float in = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected IN_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.439</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.out_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float out = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected OUT_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.53700000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2653</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.out_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float out = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected OUT_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2560</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.inout_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float inout = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected INOUT_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.46600000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2559</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.inout_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float inout = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected INOUT_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41699999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2506</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float float = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.46500000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2579</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float float = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42299999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float int = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47399999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2584</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float int = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.46100000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2562</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.void_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float void = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected VOID_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.void_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float void = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected VOID_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2561</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.bool_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float bool = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2610</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.bool_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float bool = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41099999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2591</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.lowp_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float lowp = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected LOWP, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2630</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.lowp_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float lowp = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected LOWP, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2525</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.mediump_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float mediump = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected MEDIUMP, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47399999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2655</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.mediump_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float mediump = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected MEDIUMP, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41699999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2538</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.highp_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float highp = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected HIGHP, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47299999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2651</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.highp_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float highp = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected HIGHP, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2517</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.precision_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float precision = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected PRECISION, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.46700000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2619</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.precision_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float precision = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected PRECISION, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2617</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.invariant_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float invariant = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected INVARIANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2594</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.invariant_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float invariant = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected INVARIANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42299999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2546</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.discard_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float discard = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected DISCARD, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.46600000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2645</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.discard_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float discard = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected DISCARD, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41299999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2552</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.return_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float return = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected RETURN, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2598</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.return_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float return = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected RETURN, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.48699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float vec4 = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected BASIC_TYPE_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.41899999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2567</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.struct_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float struct = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected STRUCT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.45800000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2581</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.keywords.struct_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float struct = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected STRUCT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2578</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.asm_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float asm = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `asm&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.628</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2842</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.asm_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float asm = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `asm&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.441</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2592</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.class_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float class = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `class&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.5</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2662</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.class_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float class = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `class&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.44400000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2557</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.typedef_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float typedef = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `typedef&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.53200000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2638</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.typedef_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float typedef = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `typedef&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.437</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2584</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.template_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float template = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `template&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48899999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.template_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float template = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `template&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.435</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2599</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.this_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float this = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `this&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.this_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float this = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `this&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.443</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2610</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.goto_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float goto = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `goto&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.503</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2695</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.goto_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float goto = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `goto&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.48599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2602</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.switch_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float switch = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `switch&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47699999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2636</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.switch_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float switch = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `switch&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.439</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2652</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.default_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float default = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `default&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2608</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.default_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float default = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `default&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.42999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2582</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.inline_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float inline = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `inline&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48199999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2708</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.inline_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float inline = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `inline&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.441</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2542</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.volatile_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float volatile = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `volatile&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.49299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2663</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.volatile_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float volatile = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `volatile&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.436</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2668</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.static_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float static = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `static&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2648</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.static_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float static = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `static&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.435</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2554</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.extern_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float extern = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `extern&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.53100000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2645</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.extern_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float extern = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `extern&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.436</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2563</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.interface_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float interface = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `interface&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2602</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.interface_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float interface = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `interface&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.44500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2568</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.flat_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float flat = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `flat&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47199999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2633</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.flat_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float flat = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `flat&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.441</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2669</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.short_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float short = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `short&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2607</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.short_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float short = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `short&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.435</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2604</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.unsigned_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float unsigned = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `unsigned&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2751</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.unsigned_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float unsigned = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `unsigned&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.442</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.superp_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float superp = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `superp&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.superp_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float superp = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `superp&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.48499999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2654</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.namespace_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float namespace = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: illegal use of reserved word `namespace&apos;
0:9(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.48399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2658</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.reserved_keywords.namespace_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float namespace = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: illegal use of reserved word `namespace&apos;
0:8(8): error: syntax error, unexpected ERROR_TOK, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.432</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2585</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.invalid_identifiers.gl_begin_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float gl_Invalid = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(2): error: identifier `gl_Invalid&apos; uses reserved `gl_&apos; prefix
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.849</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4179</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.invalid_identifiers.gl_begin_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float gl_Invalid = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(2): error: identifier `gl_Invalid&apos; uses reserved `gl_&apos; prefix
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6839999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.invalid_identifiers.digit_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float 0123 = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected INTCONSTANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.64300000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2848</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.invalid_identifiers.digit_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float 0123 = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected INTCONSTANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.435</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2606</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.invalid_identifiers.digit_begin_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

attribute highp vec4 dEQP_Position;


void main()
{
	
	float 0invalid = 1.0;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:9(8): error: syntax error, unexpected INTCONSTANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.47599999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2680</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.keywords.invalid_identifiers.digit_begin_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;



void main()
{
	
	float 0invalid = 1.0;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:8(8): error: syntax error, unexpected INTCONSTANT, expecting &apos;,&apos; or &apos;;&apos;
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.43099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2524</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_modulo_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value % 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: operator &apos;%&apos; is reserved in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9319999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4280</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_modulo_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value % 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: operator &apos;%&apos; is reserved in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8420000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4079</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_shift_left_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value &lt;&lt; 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: type mismatch
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4264</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_shift_left_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value &lt;&lt; 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: type mismatch
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8340000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4192</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_shift_right_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value &gt;&gt; 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: type mismatch
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4296</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_shift_right_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value &gt;&gt; 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: type mismatch
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8320000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_and_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value &amp; 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: type mismatch
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9019999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4182</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_and_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value &amp; 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: type mismatch
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.778</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4087</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_xor_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value ^ 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: type mismatch
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.044</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4322</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_xor_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value ^ 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: type mismatch
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8440000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4065</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_or_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value | 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: type mismatch
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.95</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4194</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_bitwise_or_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value | 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: type mismatch
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.056000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4143</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_modulo_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value %= 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: operator &apos;%&apos; is reserved in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: could not implicitly convert error to int
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9119999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4210</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_modulo_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value %= 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: operator &apos;%&apos; is reserved in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: could not implicitly convert error to int
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.786</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4075</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_shift_left_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value &lt;&lt;= 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.895</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4152</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_shift_left_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value &lt;&lt;= 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7689999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_shift_right_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value &gt;&gt;= 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.946</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4270</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_shift_right_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value &gt;&gt;= 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8500000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4079</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_and_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value &amp;= 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: could not implicitly convert error to int
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9730000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4220</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_and_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value &amp;= 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: could not implicitly convert error to int
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.845</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4143</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_xor_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value ^= 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: could not implicitly convert error to int
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.901</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4237</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_xor_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value ^= 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: could not implicitly convert error to int
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.788</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4066</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_or_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	
	int value = 100;
	value |= 1;
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:11(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:11(2): error: could not implicitly convert error to int
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.944</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4309</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.reserved_operators.operator_assign_or_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	
	int value = 100;
	value |= 1;
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:10(2): error: bit-wise operations are forbidden in GLSL ES 1.00 (GLSL 1.30 or GLSL ES 3.00 required)
0:10(2): error: could not implicitly convert error to int
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.79</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4047</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.valid.invariant_storage_precision" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

invariant varying lowp float x0;

 uniform mediump float x1;

 attribute mediump float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

invariant varying lowp float x0;

 uniform mediump float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0299999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8209999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23423</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.valid.storage_precision" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

varying lowp float x0;

uniform mediump float x1;

attribute mediump float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

varying lowp float x0;

uniform mediump float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4980000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8419999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">395897</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.valid.invariant_storage" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

invariant varying float x0;

 uniform float x1;

 attribute float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;

invariant varying float x0;

 uniform float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5070000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1200000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">56.832999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72614</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.invariant_precision_storage" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

invariant lowp varying float x0;

 mediump uniform float x1;

 mediump attribute float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(11): error: precision qualifiers must come last
0:6(2): error: precision qualifiers must come last
0:8(2): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

invariant lowp varying float x0;

 mediump uniform float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(11): error: precision qualifiers must come last
0:5(2): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.91000000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.55900000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3855</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.storage_invariant_precision" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

varying invariant lowp float x0;

uniform mediump float x1;

attribute mediump float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

varying invariant lowp float x0;

uniform mediump float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.80600000000000005</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.52900000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3616</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.storage_precision_invariant" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

varying lowp invariant float x0;

uniform mediump float x1;

attribute mediump float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(9): error: precision qualifiers must come last
0:4(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

varying lowp invariant float x0;

uniform mediump float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(9): error: precision qualifiers must come last
0:3(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.86499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.55900000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3740</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.precision_invariant_storage" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

lowp invariant varying float x0;

mediump uniform float x1;

mediump attribute float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(1): error: precision qualifiers must come last
0:6(1): error: precision qualifiers must come last
0:8(1): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

lowp invariant varying float x0;

mediump uniform float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: precision qualifiers must come last
0:5(1): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.85099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54900000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3677</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.precision_storage_invariant" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

lowp varying invariant float x0;

mediump uniform float x1;

mediump attribute float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(6): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
0:4(1): error: precision qualifiers must come last
0:6(1): error: precision qualifiers must come last
0:8(1): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

lowp varying invariant float x0;

mediump uniform float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(6): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
0:3(1): error: precision qualifiers must come last
0:5(1): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.86399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.56599999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3727</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.precision_storage" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

lowp varying float x0;

mediump uniform float x1;

mediump attribute float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(1): error: precision qualifiers must come last
0:6(1): error: precision qualifiers must come last
0:8(1): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

lowp varying float x0;

mediump uniform float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: precision qualifiers must come last
0:5(1): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.83899999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.55200000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3726</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.variables.invalid.storage_invariant" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;

varying invariant float x0;

uniform float x1;

attribute float x2;

void main()
{
	x0 = 1.0;
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog>0:4(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;

varying invariant float x0;

uniform float x1;

void main()
{
	float result = x0 + x1;
	gl_FragColor = vec4(result, result, result, 1.0);
}
</ShaderSource>
        <InfoLog>0:3(1): error: storage qualifiers must come after precise, invariant, interpolation, layout and auxiliary storage qualifiers
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.79300000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.52700000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3618</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.storage_parameter_precision_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (const in lowp float x)
{
	return x + 1.0;
}

void foo1 ( out mediump float x)
{
	x = 1.0;
}

float foo2 ( inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.2060000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19906</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.storage_parameter_precision_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;


float foo0 (const in lowp float x)
{
	return x + 1.0;
}

void foo1 ( out mediump float x)
{
	x = 1.0;
}

float foo2 ( inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9159999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.8959999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">16317</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.storage_parameter_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (const in float x)
{
	return x + 1.0;
}

void foo1 ( out float x)
{
	x = 1.0;
}

float foo2 ( inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.968</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.1420000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20073</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.storage_parameter_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;


float foo0 (const in float x)
{
	return x + 1.0;
}

void foo1 ( out float x)
{
	x = 1.0;
}

float foo2 ( inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0259999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.2080000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.storage_precision_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (const lowp float x)
{
	return x + 1.0;
}

void foo1 ( mediump float x)
{
	x = 1.0;
}

float foo2 ( mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:24(7): warning: `result&apos; used uninitialized
0:26(7): warning: `result&apos; used uninitialized
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.6269999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21136</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.storage_precision_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;


float foo0 (const lowp float x)
{
	return x + 1.0;
}

void foo1 ( mediump float x)
{
	x = 1.0;
}

float foo2 ( mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:23(7): warning: `result&apos; used uninitialized
0:25(7): warning: `result&apos; used uninitialized
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.419</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.5</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18892</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.parameter_precision_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (in lowp float x)
{
	return x + 1.0;
}

void foo1 (out mediump float x)
{
	x = 1.0;
}

float foo2 (inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2709999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.3819999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20257</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.valid.parameter_precision_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump float;


float foo0 (in lowp float x)
{
	return x + 1.0;
}

void foo1 (out mediump float x)
{
	x = 1.0;
}

float foo2 (inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1419999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.6159999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18502</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.storage_precision_parameter_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (const lowp in float x)
{
	return x + 1.0;
}

void foo1 ( mediump out float x)
{
	x = 1.0;
}

float foo2 ( mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(19): error: precision qualifiers must come last
0:10(13): error: precision qualifiers must come last
0:15(14): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.2969999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3807</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.storage_precision_parameter_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (const lowp in float x)
{
	return x + 1.0;
}

void foo1 ( mediump out float x)
{
	x = 1.0;
}

float foo2 ( mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(19): error: precision qualifiers must come last
0:9(13): error: precision qualifiers must come last
0:14(14): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.151</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3563</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.parameter_storage_precision_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (in const lowp float x)
{
	return x + 1.0;
}

void foo1 (out mediump float x)
{
	x = 1.0;
}

float foo2 (inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(13): error: in/out/inout must come after const or precise
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.2130000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3556</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.parameter_storage_precision_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (in const lowp float x)
{
	return x + 1.0;
}

void foo1 (out mediump float x)
{
	x = 1.0;
}

float foo2 (inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(13): error: in/out/inout must come after const or precise
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.054</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3334</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.parameter_precision_storage_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (in lowp const float x)
{
	return x + 1.0;
}

void foo1 (out mediump float x)
{
	x = 1.0;
}

float foo2 (inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(16): error: precision qualifiers must come last
0:5(13): error: in/out/inout must come after const or precise
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.0920000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3368</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.parameter_precision_storage_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (in lowp const float x)
{
	return x + 1.0;
}

void foo1 (out mediump float x)
{
	x = 1.0;
}

float foo2 (inout mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(16): error: precision qualifiers must come last
0:4(13): error: in/out/inout must come after const or precise
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.98599999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_storage_parameter_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (lowp const in float x)
{
	return x + 1.0;
}

void foo1 (mediump out float x)
{
	x = 1.0;
}

float foo2 (mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(13): error: precision qualifiers must come last
0:10(12): error: precision qualifiers must come last
0:15(13): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.0589999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3373</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_storage_parameter_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (lowp const in float x)
{
	return x + 1.0;
}

void foo1 (mediump out float x)
{
	x = 1.0;
}

float foo2 (mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(13): error: precision qualifiers must come last
0:9(12): error: precision qualifiers must come last
0:14(13): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_parameter_storage_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (lowp in const float x)
{
	return x + 1.0;
}

void foo1 (mediump out float x)
{
	x = 1.0;
}

float foo2 (mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(18): error: in/out/inout must come after const or precise
0:5(13): error: precision qualifiers must come last
0:10(12): error: precision qualifiers must come last
0:15(13): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.0840000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3424</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_parameter_storage_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (lowp in const float x)
{
	return x + 1.0;
}

void foo1 (mediump out float x)
{
	x = 1.0;
}

float foo2 (mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(18): error: in/out/inout must come after const or precise
0:4(13): error: precision qualifiers must come last
0:9(12): error: precision qualifiers must come last
0:14(13): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.042</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3375</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.parameter_storage_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (in const float x)
{
	return x + 1.0;
}

void foo1 (out float x)
{
	x = 1.0;
}

float foo2 (inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(13): error: in/out/inout must come after const or precise
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.01</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3336</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.parameter_storage_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (in const float x)
{
	return x + 1.0;
}

void foo1 (out float x)
{
	x = 1.0;
}

float foo2 (inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(13): error: in/out/inout must come after const or precise
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.96099999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3202</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_storage_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (lowp const float x)
{
	return x + 1.0;
}

void foo1 (mediump float x)
{
	x = 1.0;
}

float foo2 (mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(13): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.0049999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3322</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_storage_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (lowp const float x)
{
	return x + 1.0;
}

void foo1 (mediump float x)
{
	x = 1.0;
}

float foo2 (mediump float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(13): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3229</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_parameter_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
attribute highp vec4 dEQP_Position;


float foo0 (lowp in float x)
{
	return x + 1.0;
}

void foo1 (mediump out float x)
{
	x = 1.0;
}

float foo2 (mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog>0:5(13): error: precision qualifiers must come last
0:10(12): error: precision qualifiers must come last
0:15(13): error: precision qualifiers must come last
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.105</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3366</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.qualification_order.parameters.invalid.precision_parameter_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;


float foo0 (lowp in float x)
{
	return x + 1.0;
}

void foo1 (mediump out float x)
{
	x = 1.0;
}

float foo2 (mediump inout float x)
{
	return x + 1.0;
}

void main()
{
	
	float result;
	foo1(result);
	float x0 = foo0(1.0);
	foo2(result);
	gl_FragColor = vec4(1.0);

}
</ShaderSource>
        <InfoLog>0:4(13): error: precision qualifiers must come last
0:9(12): error: precision qualifiers must come last
0:14(13): error: precision qualifiers must come last
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.0720000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3385</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_global_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int a = -1;

void main()
{
	int in0 = int(a_in0);

	int a = in0;

	out0 = a;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0249999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.368</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34033</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_global_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int a = -1;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int a = in0;

	out0 = a;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5470000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4339999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31093</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.block_variable_hides_local_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;

void main()
{
	int in0 = int(a_in0);

	int a = in0;
	{
		int a = -1;
	}
	out0 = a;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0870000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.465999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34463</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.block_variable_hides_local_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int a = in0;
	{
		int a = -1;
	}
	out0 = a;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.3929999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4629999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31089</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.block_variable_hides_global_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int a = -1;

void main()
{
	int in0 = int(a_in0);

	{
		int a = in0;

		out0 = a;
	}
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.51</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34554</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.block_variable_hides_global_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int a = -1;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	{
		int a = in0;

		out0 = a;
	}
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5870000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5269999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31420</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.for_init_statement_variable_hides_local_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;

void main()
{
	int in0 = int(a_in0);

	int a = in0;
	for (int a = 0; a &lt; 10; a++)
	{
	}
	out0 = a;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1970000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.627000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35000</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.for_init_statement_variable_hides_local_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int a = in0;
	for (int a = 0; a &lt; 10; a++)
	{
	}
	out0 = a;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7330000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3829999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33480</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.while_condition_variable_hides_local_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;

void main()
{
	int in0 = int(a_in0);

	int a = in0;
	int i = 0;
	while (bool a = (i &lt; 1))
	{
		i++;
	}
	out0 = a;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4039999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.651</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37993</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.while_condition_variable_hides_local_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int a = in0;
	int i = 0;
	while (bool a = (i &lt; 1))
	{
		i++;
	}
	out0 = a;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8959999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.933</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33154</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.for_init_statement_variable_hides_global_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int a = 5;

void main()
{
	int in0 = int(a_in0);

	for (int a = 0; a &lt; 10; a++)
	{
	}
	out0 = in0 + a - 5;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1829999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.353</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.for_init_statement_variable_hides_global_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int a = 5;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	for (int a = 0; a &lt; 10; a++)
	{
	}
	out0 = in0 + a - 5;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7290000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9299999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34269</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.while_condition_variable_hides_global_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int a = 5;

void main()
{
	int in0 = int(a_in0);

	int i = 0;
	while (bool a = (i &lt; 1))
	{
		i++;
	}
	out0 = in0 + a - 5;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.5449999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.707000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37368</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.while_condition_variable_hides_global_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int a = 5;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int i = 0;
	while (bool a = (i &lt; 1))
	{
		i++;
	}
	out0 = in0 + a - 5;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8650000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.17</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.variable_in_if_hides_global_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int a = 1;

void main()
{
	int in0 = int(a_in0);

	if (true)
		int a = 42;
	out0 = a*in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1989999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.472</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34460</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.variable_in_if_hides_global_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int a = 1;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	if (true)
		int a = 42;
	out0 = a*in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.532</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30344</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.variable_from_outer_scope_visible_in_initializer_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;

void main()
{
	int in0 = int(a_in0);

	int a = in0;
	{
		int a = a+5, b = a-5;
		out0 = b;
		a = 42;
	}
	out0 = out0 + a - in0;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.variable_from_outer_scope_visible_in_initializer_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int a = in0;
	{
		int a = a+5, b = a-5;
		out0 = b;
		a = 42;
	}
	out0 = out0 + a - in0;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.798</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3510000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31431</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_int_variable_hides_struct_type_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


struct S { int val; };

void main()
{
	int in0 = int(a_in0);

	int S = S(in0).val;
	out0 = S;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.181</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34908</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_int_variable_hides_struct_type_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


struct S { int val; };

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int S = S(in0).val;
	out0 = S;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5049999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4489999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32129</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_struct_variable_hides_struct_type_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


struct S { int val; };

void main()
{
	int in0 = int(a_in0);

	S S = S(in0);
	out0 = S.val;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0630000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.48</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33521</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_struct_variable_hides_struct_type_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


struct S { int val; };

void main()
{
	int in0 = int(v_in0 * 1.0025);

	S S = S(in0);
	out0 = S.val;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4159999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4019999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33477</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int foo (int x) { return x; }

void main()
{
	int in0 = int(a_in0);

	int foo = in0;
	out0 = foo;
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2040000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34778</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_variable_hides_function_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int foo (int x) { return x; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	int foo = in0;
	out0 = foo;
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.508</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4390000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30268</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.function_parameter_hides_global_variable_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int a = -1;

int func (int a) { return a; }

void main()
{
	int in0 = int(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.558</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34621</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.function_parameter_hides_global_variable_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int a = -1;

int func (int a) { return a; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4540000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30294</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.function_parameter_hides_struct_type_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


struct S { int x; };

int func (int S) { return S; }

void main()
{
	int in0 = int(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.2650000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.5</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33812</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.function_parameter_hides_struct_type_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


struct S { int x; };

int func (int S) { return S; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4629999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31250</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.function_parameter_hides_function_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;


int func (int func) { return func; }

void main()
{
	int in0 = int(a_in0);

	out0 = func(in0);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.992</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.584</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35555</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.function_parameter_hides_function_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;


int func (int func) { return func; }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(in0);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.488</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4879999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_variable_in_inner_scope_hides_function_parameter_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_out0;
int out0;

int func (int inp, int x) { { int x = 5; return inp + x - 5; } }

void main()
{
	int in0 = int(a_in0);

	out0 = func(in0, 42);
	gl_Position = dEQP_Position;
v_out0 = float(out0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (float a, int b)  { float atemp = a+0.5; return (float(b) &lt;= atemp &amp;&amp; atemp &lt;= float(b+1)); }

varying float v_out0;
uniform int ref_out0;

void main()
{
	bool RES = isOk(v_out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.3740000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.548</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33981</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.valid.local_variable_in_inner_scope_hides_function_parameter_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;
attribute float a_in0;
varying float v_in0;

void main()
{
	gl_Position = dEQP_Position;
	v_in0 = a_in0;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
bool isOk (int a, int b)     { return (a == b); }
varying float v_in0;
uniform int ref_out0;
int out0;

int func (int inp, int x) { { int x = 5; return inp + x - 5; } }

void main()
{
	int in0 = int(v_in0 * 1.0025);

	out0 = func(in0, 42);
	bool RES = isOk(out0, ref_out0);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.637</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.468</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30397</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_global_variable_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


int a;
float a;

void main()
{
	a = 1.0;
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:7(7): error: redeclaration of `a&apos; has incorrect type
0:11(2): error: value of type float cannot be assigned to variable of type int
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.46</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3889</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_global_variable_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


int a;
float a;

void main()
{
	a = 1.0;
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:6(7): error: redeclaration of `a&apos; has incorrect type
0:10(2): error: value of type float cannot be assigned to variable of type int
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.329</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3729</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_local_variable_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	int a;
	float a;
	a = 1.0;
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:9(8): error: redeclaration of `a&apos; has incorrect type
0:10(2): error: value of type float cannot be assigned to variable of type int
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.3680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3740</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_local_variable_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	int a;
	float a;
	a = 1.0;
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:8(8): error: redeclaration of `a&apos; has incorrect type
0:9(2): error: value of type float cannot be assigned to variable of type int
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3645</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_for_init_statement_variable_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	for (int i = 0; i &lt; 10; i++)
	{
		int i = 11;
	}
	gl_Position = vec4(0.0);
}
</ShaderSource>
        <InfoLog>0:10(6): error: `i&apos; redeclared
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.4510000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3799</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_for_init_statement_variable_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	for (int i = 0; i &lt; 10; i++)
	{
		int i = 11;
	}
	gl_FragColor = vec4(0.0);
}
</ShaderSource>
        <InfoLog>0:9(6): error: `i&apos; redeclared
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.4039999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3753</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_for_condition_variable_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	for (int i = 0; int a = (i &lt; 10); i++)
	{
		int a = 0;
	}
	gl_Position = vec4(0.0);
}
</ShaderSource>
        <InfoLog>0:8(18): error: initializer of type bool cannot be assigned to variable of type int
0:8(18): error: loop condition must be scalar boolean
0:10(6): error: `a&apos; redeclared
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.536</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3929</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_for_condition_variable_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	for (int i = 0; int a = (i &lt; 10); i++)
	{
		int a = 0;
	}
	gl_FragColor = vec4(0.0);
}
</ShaderSource>
        <InfoLog>0:7(18): error: initializer of type bool cannot be assigned to variable of type int
0:7(18): error: loop condition must be scalar boolean
0:9(6): error: `a&apos; redeclared
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.478</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3820</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_for_init_statement_variable_in_for_condition_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	float a;
	for (int i = 0; int i = (i &lt; 10); i++)
	{
		a = sin(i);
	}
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:9(22): error: `i&apos; redeclared
0:9(18): error: initializer of type bool cannot be assigned to variable of type int
0:9(18): error: loop condition must be scalar boolean
0:11(6): error: no matching function for call to `sin(int)&apos;; candidates are:
0:11(6): error:    float sin(float)
0:11(6): error:    vec2 sin(vec2)
0:11(6): error:    vec3 sin(vec3)
0:11(6): error:    vec4 sin(vec4)
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.675</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4047</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_for_init_statement_variable_in_for_condition_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	float a;
	for (int i = 0; int i = (i &lt; 10); i++)
	{
		a = sin(i);
	}
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:8(22): error: `i&apos; redeclared
0:8(18): error: initializer of type bool cannot be assigned to variable of type int
0:8(18): error: loop condition must be scalar boolean
0:10(6): error: no matching function for call to `sin(int)&apos;; candidates are:
0:10(6): error:    float sin(float)
0:10(6): error:    vec2 sin(vec2)
0:10(6): error:    vec3 sin(vec3)
0:10(6): error:    vec4 sin(vec4)
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6339999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4082</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_while_condition_variable_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	int a = 0;
	while (int i = (a &lt; 5))
	{
		int i = 11;
		a += i;
	}
	gl_Position = vec4(0.0);
}
</ShaderSource>
        <InfoLog>0:9(9): error: initializer of type bool cannot be assigned to variable of type int
0:9(9): error: loop condition must be scalar boolean
0:11(6): error: `i&apos; redeclared
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.5349999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3914</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_while_condition_variable_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	int a = 0;
	while (int i = (a &lt; 5))
	{
		int i = 11;
		a += i;
	}
	gl_FragColor = vec4(0.0);
}
</ShaderSource>
        <InfoLog>0:8(9): error: initializer of type bool cannot be assigned to variable of type int
0:8(9): error: loop condition must be scalar boolean
0:10(6): error: `i&apos; redeclared
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.534</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3823</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redefine_function_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


float func(float x);

float func(float x) { return x + 1.0; }
float func(float x) { return x + 2.0; }

void main()
{
	gl_Position = vec4(func(1.0));
}
</ShaderSource>
        <InfoLog>0:9(7): error: function `func&apos; redefined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.6220000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3919</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redefine_function_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


float func(float x);

float func(float x) { return x + 1.0; }
float func(float x) { return x + 2.0; }

void main()
{
	gl_FragColor = vec4(func(1.0));
}
</ShaderSource>
        <InfoLog>0:8(7): error: function `func&apos; redefined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.5940000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3886</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_builtin_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


float sin(float x);

void main()
{
	gl_Position = vec4(sin(1.0));
}
</ShaderSource>
        <InfoLog>0:6(7): error: A shader cannot redefine built-in function `sin&apos; in GLSL ES 1.00
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.423</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3779</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.redeclare_builtin_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


float sin(float x);

void main()
{
	gl_FragColor = vec4(sin(1.0));
}
</ShaderSource>
        <InfoLog>0:5(7): error: A shader cannot redefine built-in function `sin&apos; in GLSL ES 1.00
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.347</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3601</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.conflict_function_struct_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void f(int x);
struct f { int x; };

void main()
{
	gl_Position = vec4(1);
}
</ShaderSource>
        <InfoLog>0:7(8): error: struct `f&apos; previously defined
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.417</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3698</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.conflict_function_struct_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void f(int x);
struct f { int x; };

void main()
{
	gl_FragColor = vec4(1);
}
</ShaderSource>
        <InfoLog>0:6(8): error: struct `f&apos; previously defined
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.365</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3686</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.conflict_function_variable_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void f(int x);
float f;

void main()
{
	f = 1.0;
	gl_Position = vec4(f);
}
</ShaderSource>
        <InfoLog>0:7(1): error: name `f&apos; already taken in the current scope
0:11(2): error: `f&apos; undeclared
0:11(2): error: value of type float cannot be assigned to variable of type error
0:12(21): error: `f&apos; undeclared
0:12(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.492</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3813</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.conflict_function_variable_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void f(int x);
float f;

void main()
{
	f = 1.0;
	gl_FragColor = vec4(f);
}
</ShaderSource>
        <InfoLog>0:6(1): error: name `f&apos; already taken in the current scope
0:10(2): error: `f&apos; undeclared
0:10(2): error: value of type float cannot be assigned to variable of type error
0:11(22): error: `f&apos; undeclared
0:11(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.468</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3755</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_global_variable_before_declaration_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void func()
{
	a = 2.0;
}

float a;

void main()
{
	func();
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:8(2): error: `a&apos; undeclared
0:8(2): error: value of type float cannot be assigned to variable of type error
0:16(21): warning: `a&apos; used uninitialized
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.5069999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3894</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_global_variable_before_declaration_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void func()
{
	a = 2.0;
}

float a;

void main()
{
	func();
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:7(2): error: `a&apos; undeclared
0:7(2): error: value of type float cannot be assigned to variable of type error
0:15(22): warning: `a&apos; used uninitialized
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.4419999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3735</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_local_variable_before_declaration_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	float a = 1.0;
	a = b;
	float b = 2.0;

	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:9(6): error: `b&apos; undeclared
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.4419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3719</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_local_variable_before_declaration_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	float a = 1.0;
	a = b;
	float b = 2.0;

	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:8(6): error: `b&apos; undeclared
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3939999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3684</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_struct_type_before_declaration_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


float func (float x) { return S(x).val; }
struct S { float val; };

void main()
{
	gl_Position = vec4(func(1.0));
}
</ShaderSource>
        <InfoLog>0:6(31): error: no function with name &apos;S&apos;
0:6(31): error: type mismatch
0:6(24): error: `return&apos; with wrong type error, in function `func&apos; returning float
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.573</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3878</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_struct_type_before_declaration_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


float func (float x) { return S(x).val; }
struct S { float val; };

void main()
{
	gl_FragColor = vec4(func(1.0));
}
</ShaderSource>
        <InfoLog>0:5(31): error: no function with name &apos;S&apos;
0:5(31): error: type mismatch
0:5(24): error: `return&apos; with wrong type error, in function `func&apos; returning float
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.5449999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3843</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_function_before_declaration_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


float func (float x) { return bar(x); }
float bar (float x) { return x; }

void main()
{
	gl_Position = vec4(func(1.0));
}
</ShaderSource>
        <InfoLog>0:6(31): error: no function with name &apos;bar&apos;
0:6(24): error: `return&apos; with wrong type error, in function `func&apos; returning float
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.5820000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3897</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_function_before_declaration_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


float func (float x) { return bar(x); }
float bar (float x) { return x; }

void main()
{
	gl_FragColor = vec4(func(1.0));
}
</ShaderSource>
        <InfoLog>0:5(31): error: no function with name &apos;bar&apos;
0:5(24): error: `return&apos; with wrong type error, in function `func&apos; returning float
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.4650000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3808</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_block_in_outer_scope_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	{
		float a = 1.0;
	}
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:11(21): error: `a&apos; undeclared
0:11(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.3380000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3751</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_block_in_outer_scope_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	{
		float a = 1.0;
	}
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:10(22): error: `a&apos; undeclared
0:10(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2669999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3577</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_if_in_outer_scope_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	if (true)
		float a = 1.0;
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:10(21): error: `a&apos; undeclared
0:10(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.3340000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3657</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_if_in_outer_scope_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	if (true)
		float a = 1.0;
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:9(22): error: `a&apos; undeclared
0:9(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.286</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3713</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_else_in_outer_scope_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	if (false)
		float a = 1.0;
	else
		float b = 2.0;
	gl_Position = vec4(b);
}
</ShaderSource>
        <InfoLog>0:12(21): error: `b&apos; undeclared
0:12(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.401</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3739</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_else_in_outer_scope_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	if (false)
		float a = 1.0;
	else
		float b = 2.0;
	gl_FragColor = vec4(b);
}
</ShaderSource>
        <InfoLog>0:11(22): error: `b&apos; undeclared
0:11(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3440000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3674</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_if_in_else_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	float a = 1.0;
	if (true)
	{
		float b = 2.0;
	}
	else
	{
		a = b;
	}
	gl_Position = vec4(a);
}
</ShaderSource>
        <InfoLog>0:15(6): error: `b&apos; undeclared
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.462</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3871</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_if_in_else_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	float a = 1.0;
	if (true)
	{
		float b = 2.0;
	}
	else
	{
		a = b;
	}
	gl_FragColor = vec4(a);
}
</ShaderSource>
        <InfoLog>0:14(6): error: `b&apos; undeclared
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.4099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3733</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_for_init_statement_in_outer_scope_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	float x = 0.0;
	for (int i = 0; i &lt; 10; i++)
	{
		x += sin(i);
	}
	gl_Position = vec4(float(i));
}
</ShaderSource>
        <InfoLog>0:11(7): error: no matching function for call to `sin(int)&apos;; candidates are:
0:11(7): error:    float sin(float)
0:11(7): error:    vec2 sin(vec2)
0:11(7): error:    vec3 sin(vec3)
0:11(7): error:    vec4 sin(vec4)
0:13(27): error: `i&apos; undeclared
0:13(21): error: cannot construct `float&apos; from a non-numeric data type
0:13(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.6910000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4123</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_for_init_statement_in_outer_scope_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	float x = 0.0;
	for (int i = 0; i &lt; 10; i++)
	{
		x += sin(i);
	}
	gl_FragColor = vec4(float(i));
}
</ShaderSource>
        <InfoLog>0:10(7): error: no matching function for call to `sin(int)&apos;; candidates are:
0:10(7): error:    float sin(float)
0:10(7): error:    vec2 sin(vec2)
0:10(7): error:    vec3 sin(vec3)
0:10(7): error:    vec4 sin(vec4)
0:12(28): error: `i&apos; undeclared
0:12(22): error: cannot construct `float&apos; from a non-numeric data type
0:12(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.645</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4097</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_while_condition_in_outer_scope_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	int a = 1;
	while (bool b = (a == 1))
	{
		a++;
	}
	gl_Position = vec4(float(b));
}
</ShaderSource>
        <InfoLog>0:13(27): error: `b&apos; undeclared
0:13(21): error: cannot construct `float&apos; from a non-numeric data type
0:13(16): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.5009999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3867</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_variable_from_while_condition_in_outer_scope_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	int a = 1;
	while (bool b = (a == 1))
	{
		a++;
	}
	gl_FragColor = vec4(float(b));
}
</ShaderSource>
        <InfoLog>0:12(28): error: `b&apos; undeclared
0:12(22): error: cannot construct `float&apos; from a non-numeric data type
0:12(17): error: cannot construct `vec4&apos; from a non-numeric data type
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.4490000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3855</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_parameter_names_from_function_declaration_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


float func(float a, float b);

float func(float x, float y) { return a+b; }

void main()
{
	gl_Position = vec4(func(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:8(39): error: `a&apos; undeclared
0:8(41): error: `b&apos; undeclared
0:8(39): error: operands to arithmetic operators must be numeric
0:8(32): error: `return&apos; with wrong type error, in function `func&apos; returning float
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.577</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3943</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.use_parameter_names_from_function_declaration_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


float func(float a, float b);

float func(float x, float y) { return a+b; }

void main()
{
	gl_FragColor = vec4(func(1.0, 2.0));
}
</ShaderSource>
        <InfoLog>0:7(39): error: `a&apos; undeclared
0:7(41): error: `b&apos; undeclared
0:7(39): error: operands to arithmetic operators must be numeric
0:7(32): error: `return&apos; with wrong type error, in function `func&apos; returning float
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.51</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.variable_not_visible_in_own_initializer_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;
attribute highp vec4 dEQP_Position;


void main()
{
	float x = x;
	gl_Position = vec4(x);
}
</ShaderSource>
        <InfoLog>0:8(12): error: `x&apos; undeclared
0:9(21): warning: `x&apos; used uninitialized
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.325</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.scoping.invalid.variable_not_visible_in_own_initializer_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>#version 100
precision mediump float;


void main()
{
	float x = x;
	gl_FragColor = vec4(x);
}
</ShaderSource>
        <InfoLog>0:7(12): error: `x&apos; undeclared
0:8(22): warning: `x&apos; used uninitialized
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.246</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3539</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_int_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	int b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.8999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4316</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_int_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	int b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4160</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	float a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.917</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4331</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	float a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8149999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4246</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec2_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.931</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec2_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.895</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4271</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0369999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4379</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.857</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4179</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec3_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.962</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4400</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec3_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4260</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9410000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4302</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.875</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec4_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4342</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec4_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.925</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4304</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_float_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4200</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_int_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.929</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4325</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_int_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7929999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4147</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec2 a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.036</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec2 a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.863</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4173</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec2_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.994</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec2_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4312</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.925</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4326</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4217</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec3_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9410000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4354</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec3_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8580000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4135</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.028</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4411</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.946</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4272</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec4_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.925</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec4_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8420000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9450000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4361</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec2_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.851</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4205</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_int_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0459999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4376</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_int_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8720000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec3 a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.982</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4370</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec3 a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec2_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4364</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec2_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4156</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.044</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4410</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.883</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4180</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec3_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0979999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4457</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec3_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8049999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4216</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4316</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4149</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec4_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec4_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4206</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9950000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4315</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec3_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4195</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_int_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4427</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_int_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.831</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4252</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec4 a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec4 a;
	int b;
	int c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.857</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4171</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec2_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec2_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.865</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4152</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0459999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4490</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8160000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4189</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec3_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9510000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4314</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec3_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.833</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4267</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0089999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4336</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8839999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4238</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec4_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.994</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4331</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec4_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4225</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4431</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.add_vec4_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a + b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.796</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4109</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_int_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	int b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.966</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4389</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_int_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	int b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8740000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4158</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	float a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.032</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4367</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	float a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.853</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4221</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec2_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.968</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4425</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec2_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8069999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4171</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4334</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8049999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4174</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec3_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0550000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4467</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec3_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9259999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4236</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0070000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4382</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7989999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4207</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec4_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4308</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec4_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8129999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4262</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0009999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4321</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_float_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9139999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4239</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_int_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.073</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4465</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_int_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.806</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4177</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec2 a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4402</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec2 a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.802</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4159</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec2_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.962</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.067000000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4349</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec2_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.913</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4260</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.02</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4323</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec3_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9510000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4356</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec3_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8140000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4153</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4440</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.859</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4153</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec4_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.081</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4421</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec4_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8540000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4167</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4374</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec2_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8080000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4237</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_int_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4272</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_int_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8320000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4216</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec3 a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.1280000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4501</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec3 a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4150</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec2_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.98</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4369</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec2_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8180000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4190</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.962</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec3_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0019999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4323</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec3_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.879</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4174</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.008</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4342</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4204</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec4_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.96</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4413</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec4_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.829</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4194</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4347</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec3_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8819999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_int_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4435</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_int_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.867</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4213</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec4 a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9670000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4417</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec4 a;
	int b;
	int c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.792</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4147</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec2_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4391</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec2_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.784</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4117</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4440</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9390000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4243</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec3_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0209999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4355</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec3_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.821</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4314</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.798</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4163</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec4_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4321</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec4_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8819999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4186</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0169999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4422</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.mul_vec4_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a * b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8180000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4251</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_int_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	int b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4330</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_int_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	int b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8149999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4150</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	float a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9410000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4394</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	float a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.869</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4204</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec2_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0859999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4428</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec2_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.923</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4231</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.96</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4338</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.819</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec3_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4383</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec3_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.881</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4183</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0070000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4335</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.851</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4241</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec4_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9970000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec4_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4239</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.954</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4295</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_float_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.806</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4148</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_int_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0539999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4418</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_int_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.905</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4211</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec2 a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0449999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4378</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec2 a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8220000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec2_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.972</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4360</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec2_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.827</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.024</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4347</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.917</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec3_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0259999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec3_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4237</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4391</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8069999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4139</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec4_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.946</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4367</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec4_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8819999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4262</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4429</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec2_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_int_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4328</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_int_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4203</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec3 a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec3 a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8879999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4195</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec2_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0249999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4346</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec2_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4211</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4434</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8169999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4230</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec3_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.962</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4326</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec3_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.831</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4221</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8560000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4173</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec4_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4386</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec4_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.839</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4219</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.95</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4316</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec3_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8140000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4231</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_int_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0499999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4390</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_int_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.907</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4293</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec4 a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.988</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4295</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec4 a;
	int b;
	int c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4234</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec2_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.956</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4419</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec2_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4144</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0329999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9159999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4238</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec3_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4317</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec3_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.871</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4265</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9750000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4384</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.831</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4159</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec4_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9590000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4375</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec4_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.885</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4175</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.056</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4450</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.sub_vec4_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a - b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.863</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_int_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	int b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9450000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_int_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	int b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8049999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4176</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	float a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9319999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4362</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	float a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8759999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4248</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec2_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0129999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4320</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec2_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec2 b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.885</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9550000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4496</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	float a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8120000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4159</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec3_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9490000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4336</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec3_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec3 b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0409999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4342</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	float a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4294</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec4_float_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.994</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4367</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec4_float_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	float c;
	float a;
	ivec4 b;
	float c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8220000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9510000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4313</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_float_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	float a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8089999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4162</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_int_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0470000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4414</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_int_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	int b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4195</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec2 a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec2 a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8120000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4221</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec2_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.95</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4373</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec2_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec2 b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8160000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4258</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.024</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec2 a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8640000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4171</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec3_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4464</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec3_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec3 b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4240</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4379</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec2 a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8149999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec4_vec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0169999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4349</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec4_vec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec2 c;
	vec2 a;
	ivec4 b;
	vec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.891</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4284</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.008</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4350</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec2_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec2 a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.804</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4224</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_int_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9359999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4320</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_int_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	int b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4110</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec3 a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4410</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec3 a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.871</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4169</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec2_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0339999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4375</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec2_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec2 b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.881</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4199</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9490000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4368</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec3 a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4260</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec3_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9510000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4323</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec3_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec3 b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.899</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4210</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0059999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4391</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec3 a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.903</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4218</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec4_vec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4449</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec4_vec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec3 c;
	vec3 a;
	ivec4 b;
	vec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8180000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4170</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.966</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4370</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec3_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec3 a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8740000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4223</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_int_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.036</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_int_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	int b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4207</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_int_int_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	int c;
	vec4 a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(6): error: `c&apos; redeclared
0:12(10): warning: `a&apos; used uninitialized
0:12(14): warning: `b&apos; used uninitialized
0:12(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4418</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_int_int_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	int c;
	vec4 a;
	int b;
	int c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(6): error: `c&apos; redeclared
0:11(10): warning: `a&apos; used uninitialized
0:11(14): warning: `b&apos; used uninitialized
0:11(10): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8089999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4179</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec2_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.982</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4460</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec2_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec2 b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8109999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4167</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec2_ivec2_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0209999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4352</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec2_ivec2_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec2 c;
	vec4 a;
	ivec2 b;
	ivec2 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.861</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4184</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec3_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0070000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4394</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec3_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec3 b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8129999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4270</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec3_ivec3_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">1.9330000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4247</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec3_ivec3_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec3 c;
	vec4 a;
	ivec3 b;
	ivec3 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.825</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4217</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec4_vec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(7): error: `c&apos; redeclared
0:12(11): warning: `a&apos; used uninitialized
0:12(15): warning: `b&apos; used uninitialized
0:12(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.0030000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec4_vec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	vec4 c;
	vec4 a;
	ivec4 b;
	vec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(7): error: `c&apos; redeclared
0:11(11): warning: `a&apos; used uninitialized
0:11(15): warning: `b&apos; used uninitialized
0:11(11): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec4_ivec4_vertex" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;

attribute highp vec4 dEQP_Position;


void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:12(8): error: `c&apos; redeclared
0:12(12): warning: `a&apos; used uninitialized
0:12(16): warning: `b&apos; used uninitialized
0:12(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



void main()
{
	gl_FragColor = vec4(1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4403</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.invalid_implicit_conversions.invalid_implicit_conversions.div_vec4_ivec4_ivec4_fragment" CaseType="SelfValidate">
    <Text>Expecting shader compilation to fail.</Text>
    <ShaderProgram LinkStatus="Fail">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="Fail">
        <ShaderSource>precision mediump float;
precision mediump int;



void main()
{
	ivec4 c;
	vec4 a;
	ivec4 b;
	ivec4 c = a / b;
}
</ShaderSource>
        <InfoLog>0:11(8): error: `c&apos; redeclared
0:11(12): warning: `a&apos; used uninitialized
0:11(16): warning: `b&apos; used uninitialized
0:11(12): error: could not implicitly convert operands to arithmetic operator
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4169</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.misc.compound_assignment.mul_swizzled_vec_by_matrix_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>precision highp float;
attribute highp vec4 dEQP_Position;
varying vec4 out0;


void main()
{
	out0 = vec4(1.0, 2.0, 3.0, 4.0);
	out0.xy *= mat2(1.0, 0.0, 0.0, 1.0);
	gl_Position = dEQP_Position;

}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;

bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }

varying vec4 out0;
uniform vec4 ref_out0;

void main()
{
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.4700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.738</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27252</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.misc.compound_assignment.mul_swizzled_vec_by_matrix_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>#version 100
precision highp float;
precision highp int;

attribute highp vec4 dEQP_Position;

void main()
{
	gl_Position = dEQP_Position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision highp float;
bool isOk (vec4 a, vec4 b, float eps) { return all(lessThanEqual(abs(a-b), (eps*abs(b) + eps))); }
uniform vec4 ref_out0;
vec4 out0;


void main()
{
	out0 = vec4(1.0, 2.0, 3.0, 4.0);
	out0.xy *= mat2(1.0, 0.0, 0.0, 1.0);
	bool RES = isOk(out0, ref_out0, 0.05);
gl_FragColor = vec4(RES, RES, RES, 1.0);

}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.298</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.244999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23775</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[0] = float(a_coords);
	var[1] = float(a_coords) * 0.5;
	var[2] = float(a_coords) * 0.25;
	var[3] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6240000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1600000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.129000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50701</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[0] = float(a_coords);
	var[1] = float(a_coords) * 0.5;
	var[2] = float(a_coords) * 0.25;
	var[3] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9020000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.316001999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65299</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[0] = float(a_coords);
	var[1] = float(a_coords) * 0.5;
	var[2] = float(a_coords) * 0.25;
	var[3] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3809999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.238001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46566</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[0] = float(a_coords);
	var[1] = float(a_coords) * 0.5;
	var[2] = float(a_coords) * 0.25;
	var[3] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0150000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.136998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52678</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = float(a_coords);
	var[ui_one]   = float(a_coords) * 0.5;
	var[ui_two]   = float(a_coords) * 0.25;
	var[ui_three] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9620000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.493999000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75386</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = float(a_coords);
	var[ui_one]   = float(a_coords) * 0.5;
	var[ui_two]   = float(a_coords) * 0.25;
	var[ui_three] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">57.617001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80884</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = float(a_coords);
	var[ui_one]   = float(a_coords) * 0.5;
	var[ui_two]   = float(a_coords) * 0.25;
	var[ui_three] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">41.152000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63896</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = float(a_coords);
	var[ui_one]   = float(a_coords) * 0.5;
	var[ui_two]   = float(a_coords) * 0.25;
	var[ui_three] = float(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">46.105998999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69436</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6110000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.700001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49821</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">39.619999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61819</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.608000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46753</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_static_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.302</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3610000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.716000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57327</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">44.483001999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66567</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.510000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50176</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.float_dynamic_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump float var[4];

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = float(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump float var[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.944000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56498</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec2(a_coords);
	var[1] = vec2(a_coords) * 0.5;
	var[2] = vec2(a_coords) * 0.25;
	var[3] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.161</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4500000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.285</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52849</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec2(a_coords);
	var[1] = vec2(a_coords) * 0.5;
	var[2] = vec2(a_coords) * 0.25;
	var[3] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8620000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.387999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65414</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec2(a_coords);
	var[1] = vec2(a_coords) * 0.5;
	var[2] = vec2(a_coords) * 0.25;
	var[3] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3490000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.739999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46006</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec2(a_coords);
	var[1] = vec2(a_coords) * 0.5;
	var[2] = vec2(a_coords) * 0.25;
	var[3] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0539999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.052999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52797</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec2(a_coords);
	var[ui_one]   = vec2(a_coords) * 0.5;
	var[ui_two]   = vec2(a_coords) * 0.25;
	var[ui_three] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1709999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">39.548000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81271</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec2(a_coords);
	var[ui_one]   = vec2(a_coords) * 0.5;
	var[ui_two]   = vec2(a_coords) * 0.25;
	var[ui_three] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">58.499001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80769</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec2(a_coords);
	var[ui_one]   = vec2(a_coords) * 0.5;
	var[ui_two]   = vec2(a_coords) * 0.25;
	var[ui_three] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">42.304001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64398</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec2(a_coords);
	var[ui_one]   = vec2(a_coords) * 0.5;
	var[ui_two]   = vec2(a_coords) * 0.25;
	var[ui_three] = vec2(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.167000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70982</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6709999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.271000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50825</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">41.847999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64841</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.278998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46427</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_static_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.212</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52424</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2429999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.408999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62901</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">556.97900400000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">579930</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.219999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51224</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec2_dynamic_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec2 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec2(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec2 var[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.863998000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57836</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec3(a_coords);
	var[1] = vec3(a_coords) * 0.5;
	var[2] = vec3(a_coords) * 0.25;
	var[3] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0720000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.34</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61449</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec3(a_coords);
	var[1] = vec3(a_coords) * 0.5;
	var[2] = vec3(a_coords) * 0.25;
	var[3] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">40.618000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71066</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec3(a_coords);
	var[1] = vec3(a_coords) * 0.5;
	var[2] = vec3(a_coords) * 0.25;
	var[3] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.472</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.052</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49606</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec3(a_coords);
	var[1] = vec3(a_coords) * 0.5;
	var[2] = vec3(a_coords) * 0.25;
	var[3] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.927</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.16</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58484</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec3(a_coords);
	var[ui_one]   = vec3(a_coords) * 0.5;
	var[ui_two]   = vec3(a_coords) * 0.25;
	var[ui_three] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2250000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">42.033999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">87688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec3(a_coords);
	var[ui_one]   = vec3(a_coords) * 0.5;
	var[ui_two]   = vec3(a_coords) * 0.25;
	var[ui_three] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">64.023003000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">87155</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec3(a_coords);
	var[ui_one]   = vec3(a_coords) * 0.5;
	var[ui_two]   = vec3(a_coords) * 0.25;
	var[ui_three] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">46.875999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69716</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec3(a_coords);
	var[ui_one]   = vec3(a_coords) * 0.5;
	var[ui_two]   = vec3(a_coords) * 0.25;
	var[ui_three] = vec3(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">52.555</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76232</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7240000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">43.867001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76411</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.387999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70702</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.693000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51271</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_static_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.415000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58295</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2749999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.997999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71294</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">51.033000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74509</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.673999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec3_dynamic_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec3 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec3(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec3 var[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">39.092998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63987</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec4(a_coords);
	var[1] = vec4(a_coords) * 0.5;
	var[2] = vec4(a_coords) * 0.25;
	var[3] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1869999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.933</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47047</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec4(a_coords);
	var[1] = vec4(a_coords) * 0.5;
	var[2] = vec4(a_coords) * 0.25;
	var[3] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9089999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.515000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41478</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec4(a_coords);
	var[1] = vec4(a_coords) * 0.5;
	var[2] = vec4(a_coords) * 0.25;
	var[3] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4129999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.574999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41184</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[0] = vec4(a_coords);
	var[1] = vec4(a_coords) * 0.5;
	var[2] = vec4(a_coords) * 0.25;
	var[3] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.936</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41303</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec4(a_coords);
	var[ui_one]   = vec4(a_coords) * 0.5;
	var[ui_two]   = vec4(a_coords) * 0.25;
	var[ui_three] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2109999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.239999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82936</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec4(a_coords);
	var[ui_one]   = vec4(a_coords) * 0.5;
	var[ui_two]   = vec4(a_coords) * 0.25;
	var[ui_three] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.528998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56462</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec4(a_coords);
	var[ui_one]   = vec4(a_coords) * 0.5;
	var[ui_two]   = vec4(a_coords) * 0.25;
	var[ui_three] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.146999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57019</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	var[ui_zero]  = vec4(a_coords);
	var[ui_one]   = vec4(a_coords) * 0.5;
	var[ui_two]   = vec4(a_coords) * 0.25;
	var[ui_three] = vec4(a_coords) * 0.125;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57676</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7789999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.243</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.885000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41338</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.34</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41133</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_static_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; 4; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.155999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42787</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[0];
	res += var[1];
	res += var[2];
	res += var[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3010000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.579999999999998</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">455778</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += var[ui_zero];
	res += var[ui_one];
	res += var[ui_two];
	res += var[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.851998999999999</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">450075</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_static_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.257000000000001</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">452001</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.varying_array.vec4_dynamic_loop_write_dynamic_loop_read" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
uniform mediump int ui_four;
varying mediump vec4 var[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	for (int i = 0; i &lt; ui_four; i++)
	{
		var[i] = vec4(coords);
		coords = coords * 0.5;
	}
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>precision mediump int;
uniform int ui_four;
varying mediump vec4 var[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += var[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0089999999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.334999</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">452490</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump float u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump float res = float(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0369999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.746</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1639999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41521</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump float u_arr[4];

void main()
{
	mediump float res = float(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.6579999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.3839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.4470000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35364</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump float u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump float res = float(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.294</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.343</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump float u_arr[4];

void main()
{
	mediump float res = float(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0779999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5909999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34296</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump float u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.532</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7309999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39286</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump float u_arr[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4409999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.606</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34615</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;
uniform mediump float u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2509999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.664999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46217</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.float_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;
uniform mediump float u_arr[4];

void main()
{
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0760000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9619999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34899</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump vec2 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 res = vec2(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5579999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38790</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump vec2 u_arr[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7389999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.529999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34492</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump vec2 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 res = vec2(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2730000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.396999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67254</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump vec2 u_arr[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.923</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5549999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33222</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump vec2 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6989999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6829999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40255</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump vec2 u_arr[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5410000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33624</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;
uniform mediump vec2 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3769999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.622999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47882</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;
uniform mediump vec2 u_arr[4];

void main()
{
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.968</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.069000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump vec3 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 res = vec3(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.105</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5519999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40686</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump vec3 u_arr[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7229999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.545999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34937</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump vec3 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 res = vec3(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1619999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.250999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72306</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump vec3 u_arr[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8959999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">293.35000600000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">317143</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump vec3 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5270000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6880000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40364</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump vec3 u_arr[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6039999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33635</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;
uniform mediump vec3 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2989999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.603999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50238</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;
uniform mediump vec3 u_arr[4];

void main()
{
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.044</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.009</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35252</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump vec4 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 res = vec4(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.9039999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8480000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40112</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump vec4 u_arr[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += u_arr[0];
	res += u_arr[1];
	res += u_arr[2];
	res += u_arr[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6230000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6310000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31611</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump vec4 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 res = vec4(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0169999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.466999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75228</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump vec4 u_arr[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	res += u_arr[ui_zero];
	res += u_arr[ui_one];
	res += u_arr[ui_two];
	res += u_arr[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8879999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6419999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32182</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump vec4 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5169999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8399999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40625</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump vec4 u_arr[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2469999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6839999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;
uniform mediump vec4 u_arr[4];

void main()
{
	gl_Position = a_position;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1909999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.686999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49317</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.uniform_array.vec4_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;
uniform mediump vec4 u_arr[4];

void main()
{
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += u_arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1080000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32963</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6120000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5060000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38254</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2349999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.787000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36611</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7330000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.815000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67115</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56869</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2199999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.672000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40077</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.855</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.786</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34404</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7989999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.315999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51394</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[0] = float(coords);
	arr[1] = float(coords) * 0.5;
	arr[2] = float(coords) * 0.25;
	arr[3] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4750000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.743998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44372</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.661</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.858001999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4860000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.054001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9340000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">50.577998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">96321</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5209999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">474.54998799999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">505720</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4219999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">599.237976</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">919407</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1349999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.243000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">353556</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.032</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">917.84301800000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">958903</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	arr[ui_zero]  = float(coords);
	arr[ui_one]   = float(coords) * 0.5;
	arr[ui_two]   = float(coords) * 0.25;
	arr[ui_three] = float(coords) * 0.125;
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6320000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.702998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68732</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.3109999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.676</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41197</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9590000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.845000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36737</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.46</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.539000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">252828</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.117</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">292.81399499999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">320320</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.7789999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">812.93298300000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">842049</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6280.0200199999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">314.14599600000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6617359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.6340000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.643999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54927</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3220000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.707001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48859</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.297001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53002</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6240000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.329999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48376</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.834999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80635</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.960999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67933</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.601</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.405999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55174</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3289999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.245000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48131</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float coords = float(a_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0369999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.493998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60101</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump float coords = float(v_coords);
	mediump float arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = float(coords);
		coords = coords * 0.5;
	}
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7709999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.693999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54235</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.0069999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4588.2490230000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4634011</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5244.7158200000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.891</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4341.3291019999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9619964</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.4730000000000008</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6669.5029299999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6780189</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.032</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6229.3989259999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6320904</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">9.6199999999999992</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4263.0927730000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4298734</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">9.2400000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4256.9228519999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4287037</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.6549999999999994</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5952.1127930000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6007841</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.float_const_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_four;

void main()
{
	mediump float arr[40];
	arr[0] = float(0.125);
	arr[1] = float(0.125) * 0.5;
	arr[2] = float(0.125) * 0.25;
	arr[3] = float(0.125) * 0.125;
	int i = 4;
	arr[i++] = float(4.0);
	arr[i++] = float(5.0);
	arr[i++] = float(6.0);
	arr[i++] = float(7.0);
	arr[i++] = float(8.0);
	arr[i++] = float(9.0);
	arr[i++] = float(10.0);
	arr[i++] = float(11.0);
	arr[i++] = float(12.0);
	arr[i++] = float(13.0);
	arr[i++] = float(14.0);
	arr[i++] = float(15.0);
	arr[i++] = float(16.0);
	arr[i++] = float(17.0);
	arr[i++] = float(18.0);
	arr[i++] = float(19.0);
	arr[i++] = float(20.0);
	arr[i++] = float(21.0);
	arr[i++] = float(22.0);
	arr[i++] = float(23.0);
	arr[i++] = float(24.0);
	arr[i++] = float(25.0);
	arr[i++] = float(26.0);
	arr[i++] = float(27.0);
	arr[i++] = float(28.0);
	arr[i++] = float(29.0);
	arr[i++] = float(30.0);
	arr[i++] = float(31.0);
	arr[i++] = float(32.0);
	arr[i++] = float(33.0);
	arr[i++] = float(34.0);
	arr[i++] = float(35.0);
	arr[i++] = float(36.0);
	arr[i++] = float(37.0);
	arr[i++] = float(38.0);
	arr[i++] = float(39.0);
	mediump float res = float(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.2609999999999992</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5972.5708009999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6022100</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0700000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5950000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41284</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.183</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9929999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.348998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1639999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.804001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68166</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.0499999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.41</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44368</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.202</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35197</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9329999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.518000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54095</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[0] = vec2(coords);
	arr[1] = vec2(coords) * 0.5;
	arr[2] = vec2(coords) * 0.25;
	arr[3] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7189999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.885000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45102</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7909999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.860000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76076</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.577</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.233001999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64866</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.186000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1433674</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5899999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.375999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84771</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.6280000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">233.15699799999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">275938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2590000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.944000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65107</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0949999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">302.868988</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">349034</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	arr[ui_zero]  = vec2(coords);
	arr[ui_one]   = vec2(coords) * 0.5;
	arr[ui_two]   = vec2(coords) * 0.25;
	arr[ui_three] = vec2(coords) * 0.125;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7450000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.959999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72701</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.375</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.811999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42211</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0780000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">196.658005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">620788</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4740000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">341.85400399999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">727263</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2009999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">409.47601300000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">437112</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.633</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">363.28298999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">392828</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">620.18701199999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">122.349998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">762603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.6029999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.940999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56941</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2690000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.816998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48585</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8479999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.201000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6040000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.233000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47203</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0129999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.555</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">85761</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.762</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.104999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69018</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5679999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.378</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58851</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.455998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48126</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.627001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64303</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec2(coords);
		coords = coords * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6970000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.844000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54280</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.109</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4252.8051759999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4299671</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4252.8291019999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4280430</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.3919999999999995</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6201.7729490000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6337500</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.1430000000000007</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6457.673828</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6572536</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">9.7289999999999992</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4255.0078119999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4290419</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">9.1690000000000005</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4261.3520509999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4292213</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.6020000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5720.4721680000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5782858</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec2_const_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_four;

void main()
{
	mediump vec2 arr[40];
	arr[0] = vec2(0.125, 0.25);
	arr[1] = vec2(0.125, 0.25) * 0.5;
	arr[2] = vec2(0.125, 0.25) * 0.25;
	arr[3] = vec2(0.125, 0.25) * 0.125;
	int i = 4;
	arr[i++] = vec2(4.0);
	arr[i++] = vec2(5.0);
	arr[i++] = vec2(6.0);
	arr[i++] = vec2(7.0);
	arr[i++] = vec2(8.0);
	arr[i++] = vec2(9.0);
	arr[i++] = vec2(10.0);
	arr[i++] = vec2(11.0);
	arr[i++] = vec2(12.0);
	arr[i++] = vec2(13.0);
	arr[i++] = vec2(14.0);
	arr[i++] = vec2(15.0);
	arr[i++] = vec2(16.0);
	arr[i++] = vec2(17.0);
	arr[i++] = vec2(18.0);
	arr[i++] = vec2(19.0);
	arr[i++] = vec2(20.0);
	arr[i++] = vec2(21.0);
	arr[i++] = vec2(22.0);
	arr[i++] = vec2(23.0);
	arr[i++] = vec2(24.0);
	arr[i++] = vec2(25.0);
	arr[i++] = vec2(26.0);
	arr[i++] = vec2(27.0);
	arr[i++] = vec2(28.0);
	arr[i++] = vec2(29.0);
	arr[i++] = vec2(30.0);
	arr[i++] = vec2(31.0);
	arr[i++] = vec2(32.0);
	arr[i++] = vec2(33.0);
	arr[i++] = vec2(34.0);
	arr[i++] = vec2(35.0);
	arr[i++] = vec2(36.0);
	arr[i++] = vec2(37.0);
	arr[i++] = vec2(38.0);
	arr[i++] = vec2(39.0);
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.2219999999999995</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5729.5561520000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5784333</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0190000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.612</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41241</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5499999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.055999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33634</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.903</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.960999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4700000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.283000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58596</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.3959999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.843999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40692</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.984</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.977</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34942</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.549999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58121</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[0] = vec3(coords);
	arr[1] = vec3(coords) * 0.5;
	arr[2] = vec3(coords) * 0.25;
	arr[3] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.974001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45213</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8010000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.095001000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79785</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5619999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.25</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61575</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.827</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.048000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">118204</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.637</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.431998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83266</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5069999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.780997999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82206</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2169999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.551997999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61496</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0410000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.775002000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">90797</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	arr[ui_zero]  = vec3(coords);
	arr[ui_one]   = vec3(coords) * 0.5;
	arr[ui_two]   = vec3(coords) * 0.25;
	arr[ui_three] = vec3(coords) * 0.125;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7759999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">39.716000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70752</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2750000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.819000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43783</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0369999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.853</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38960</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4889999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.668998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81833</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1689999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.280997999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61909</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.7670000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.029</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43448</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3949999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.949</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.649</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.885000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58080</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2850000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.027000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49919</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.204999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60897</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5939999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.367000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48483</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9689999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.672001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">94730</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6419999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.014000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68382</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5490000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.306999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60994</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.242</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.393000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48328</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.603000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68928</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec3(coords);
		coords = coords * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.718</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.934999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54899</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.1080000000000005</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4257.1757809999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4290935</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.8460000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4244.423828</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4681345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.4440000000000008</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6442.3999020000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6590510</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.1479999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6431.1958009999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6520574</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">9.6370000000000005</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4265.6289059999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4303825</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">9.1690000000000005</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4260.1030270000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4289160</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.5879999999999992</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5718.3681640000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5785724</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec3_const_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_four;

void main()
{
	mediump vec3 arr[40];
	arr[0] = vec3(0.125, 0.25, 0.5);
	arr[1] = vec3(0.125, 0.25, 0.5) * 0.5;
	arr[2] = vec3(0.125, 0.25, 0.5) * 0.25;
	arr[3] = vec3(0.125, 0.25, 0.5) * 0.125;
	int i = 4;
	arr[i++] = vec3(4.0);
	arr[i++] = vec3(5.0);
	arr[i++] = vec3(6.0);
	arr[i++] = vec3(7.0);
	arr[i++] = vec3(8.0);
	arr[i++] = vec3(9.0);
	arr[i++] = vec3(10.0);
	arr[i++] = vec3(11.0);
	arr[i++] = vec3(12.0);
	arr[i++] = vec3(13.0);
	arr[i++] = vec3(14.0);
	arr[i++] = vec3(15.0);
	arr[i++] = vec3(16.0);
	arr[i++] = vec3(17.0);
	arr[i++] = vec3(18.0);
	arr[i++] = vec3(19.0);
	arr[i++] = vec3(20.0);
	arr[i++] = vec3(21.0);
	arr[i++] = vec3(22.0);
	arr[i++] = vec3(23.0);
	arr[i++] = vec3(24.0);
	arr[i++] = vec3(25.0);
	arr[i++] = vec3(26.0);
	arr[i++] = vec3(27.0);
	arr[i++] = vec3(28.0);
	arr[i++] = vec3(29.0);
	arr[i++] = vec3(30.0);
	arr[i++] = vec3(31.0);
	arr[i++] = vec3(32.0);
	arr[i++] = vec3(33.0);
	arr[i++] = vec3(34.0);
	arr[i++] = vec3(35.0);
	arr[i++] = vec3(36.0);
	arr[i++] = vec3(37.0);
	arr[i++] = vec3(38.0);
	arr[i++] = vec3(39.0);
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.2439999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5960.2109380000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6005781</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8690000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.204000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45339</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.48</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9510000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33125</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.714</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.235001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79456</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4700000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.59</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56299</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4269999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3780000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4589999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.144</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9460000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.488001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55309</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[0] = vec4(coords);
	arr[1] = vec4(coords) * 0.5;
	arr[2] = vec4(coords) * 0.25;
	arr[3] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6429999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.648001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44347</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8500000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.542000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84857</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.75</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57718</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7280000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.734000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">128224</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4969999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">49.039000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82597</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4649999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.893000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84794</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1950000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.808001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58337</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.228000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">95232</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	arr[ui_zero]  = vec4(coords);
	arr[ui_one]   = vec4(coords) * 0.5;
	arr[ui_two]   = vec4(coords) * 0.25;
	arr[ui_three] = vec4(coords) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6339999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.417000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.721</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42215</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9950000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.464</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35132</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4279999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.883999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">85448</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1180000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.433001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58820</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.733000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3360000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.648999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35747</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5110000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.547001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59134</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; 4; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2679999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.316998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47792</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.899000000000001</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">450344</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.552</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.605</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46632</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8799999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.494999</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">478145</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9889999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.409999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68512</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5099999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.016999999999999</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">453011</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1799999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.576000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47088</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.948</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.785</Number>
    <Text>Image comparison failed: difference = 4773.1, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">458057</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 arr[4];
	for (int i = 0; i &lt; ui_four; i++)
	{
		arr[i] = vec4(coords);
		coords = coords * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.645</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.346001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53538</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">197.341995</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4408.3637699999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4630034</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	res += arr[0];
	res += arr[1];
	res += arr[2];
	res += arr[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.891</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4262.9799800000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4292731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.5039999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6440.6079099999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6604238</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	res += arr[ui_zero];
	res += arr[ui_one];
	res += arr[ui_two];
	res += arr[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.1980000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6442.5131840000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6534086</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">9.6140000000000008</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4252.2270509999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4289808</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>
void main()
{
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">9.2400000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4250.453125</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4279683</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">8.532</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5712.2509769999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5782641</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.tmp_array.vec4_const_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;

void main()
{
	gl_Position = a_position;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>uniform mediump int ui_four;

void main()
{
	mediump vec4 arr[40];
	arr[0] = vec4(0.125, 0.25, 0.5, 1.0);
	arr[1] = vec4(0.125, 0.25, 0.5, 1.0) * 0.5;
	arr[2] = vec4(0.125, 0.25, 0.5, 1.0) * 0.25;
	arr[3] = vec4(0.125, 0.25, 0.5, 1.0) * 0.125;
	int i = 4;
	arr[i++] = vec4(4.0);
	arr[i++] = vec4(5.0);
	arr[i++] = vec4(6.0);
	arr[i++] = vec4(7.0);
	arr[i++] = vec4(8.0);
	arr[i++] = vec4(9.0);
	arr[i++] = vec4(10.0);
	arr[i++] = vec4(11.0);
	arr[i++] = vec4(12.0);
	arr[i++] = vec4(13.0);
	arr[i++] = vec4(14.0);
	arr[i++] = vec4(15.0);
	arr[i++] = vec4(16.0);
	arr[i++] = vec4(17.0);
	arr[i++] = vec4(18.0);
	arr[i++] = vec4(19.0);
	arr[i++] = vec4(20.0);
	arr[i++] = vec4(21.0);
	arr[i++] = vec4(22.0);
	arr[i++] = vec4(23.0);
	arr[i++] = vec4(24.0);
	arr[i++] = vec4(25.0);
	arr[i++] = vec4(26.0);
	arr[i++] = vec4(27.0);
	arr[i++] = vec4(28.0);
	arr[i++] = vec4(29.0);
	arr[i++] = vec4(30.0);
	arr[i++] = vec4(31.0);
	arr[i++] = vec4(32.0);
	arr[i++] = vec4(33.0);
	arr[i++] = vec4(34.0);
	arr[i++] = vec4(35.0);
	arr[i++] = vec4(36.0);
	arr[i++] = vec4(37.0);
	arr[i++] = vec4(38.0);
	arr[i++] = vec4(39.0);
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += arr[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.2690000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5948.8481449999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5994133</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2810000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8340000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7609999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40463</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0179999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6210000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31081</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1640000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5489999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35743</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8759999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3670000000000009</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30730</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1190000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1500000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37436</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9090000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32399</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2610000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.468999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43332</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.1</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37511</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.754</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1799999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36877</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3929999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9039999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32604</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.484</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.416</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45457</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_direct_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp = coords.xy * vec4(1.0, 0.5, 0.25, 0.125).xy;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2989999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.221</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39309</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1509999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5749999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36099</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.923</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.448</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32796</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.161</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.15</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36613</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9159999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8919999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31295</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2010000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3710000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35938</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0049999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.337</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32676</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2349999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.731999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43136</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.526</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37980</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.73</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5459999999999994</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36766</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4980000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3580000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32253</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.922000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44816</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_component_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2370000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.605</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40583</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4969999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36122</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0009999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3520000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33054</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3370000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7699999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38189</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2930000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.625</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32672</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4609999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8130000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37592</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8919999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.308999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32643</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1619999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.643000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43910</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0699999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.48</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37961</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.726</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5700000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36656</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.48</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.327</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32209</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.54</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.895</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44839</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.670999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40842</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1869999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.337999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45304</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1299999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.228999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39711</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.258</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.24</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44219</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0550000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.083</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39458</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.789000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46854</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9740000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.412000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39760</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2469999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.455998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51711</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.085</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.350000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46986</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8410000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.744999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45359</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6070000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.491</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40461</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6230000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.143000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53504</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4100000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.888999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48117</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9420000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.452</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37821</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.649</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.278</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33470</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.762</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9550000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37125</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5760000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8190000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32793</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.798</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.311999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37554</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.609</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.108000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34143</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.619999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44782</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7050000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.401</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39539</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1429999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.314</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37823</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9380000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.257999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34669</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0030000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.783999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47270</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8889999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.526</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41284</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6099999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.359</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46733</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec2(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.484</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.174999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42534</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5950000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.487</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45717</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3340000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.334</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41519</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.653</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.746</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46146</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3319999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.582000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40726</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.597</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.68</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54751</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.468</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.483999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47798</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0700000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.792</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46695</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.747</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43464</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec2 coords = vec2(a_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7010000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.318999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54344</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec2 coords = vec2(v_coords);
	mediump vec2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6219999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.202998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50021</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2519999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4130000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37358</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0270000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7370000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32180</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1920000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3379999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36646</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8159999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0749999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31631</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.113</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4909999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36733</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8559999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.099</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33517</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4020000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.365998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51066</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0760000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.139999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43910</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7090000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5449999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38493</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6110000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.387</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33650</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5150000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.986000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46875</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_direct_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp = coords.xyz * vec4(1.0, 0.5, 0.25, 0.125).xyz;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3100000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.814</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41292</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2519999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8859999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37776</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.109</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.305999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33277</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2200000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.311</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38095</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9990000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.071999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32860</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3090000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.513</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37497</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.117</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.244999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34127</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3370000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.584</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53908</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2349999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.415001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46586</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9289999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.519</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38291</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5600000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.362</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33746</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.669</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.197001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47131</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_component_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4460000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.874000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41795</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3679999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8810000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37924</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1309999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.333</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34360</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.137</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.337</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39139</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0259999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.17</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33126</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.387</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.406000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37544</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1949999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.334</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3809999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.530000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51896</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2989999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.693999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46923</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.500999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38227</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6869999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.356</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33953</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5619999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.103999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47018</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.837</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41709</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4489999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.358000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57622</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0590000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.065000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52994</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4569999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.374001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58722</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1480000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53163</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.468</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.474001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58005</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3069999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.201000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53278</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.431998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73599</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2829999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.164000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64617</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9780000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.617000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58639</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.859</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.231999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53890</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7650000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.577998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68153</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.943000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59966</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.923</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.372</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40142</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">138.82299800000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.526</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">766909</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.96</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.954000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39800</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6560000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.644</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35230</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9129999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.06</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39846</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.901</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35728</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9820000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.226998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55544</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9329999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.024999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48940</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.375</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.180999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1539999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.209</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37386</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.3200000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.681999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49565</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.125</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.146999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49019</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.649</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.605</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49916</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec3(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3900000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.205998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44652</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.556</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.273001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49329</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.456</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.051000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44537</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6840000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.347000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.492</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.143999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43759</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.486999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64008</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.625</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.364000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56114</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1879999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.552999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50352</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0919999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.233000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44536</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec3 coords = vec3(a_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.758</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.388000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58570</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec3 coords = vec3(v_coords);
	mediump vec3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7149999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.084999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52375</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2839999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3710000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37446</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0089999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2929999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32645</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7229999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.494</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41261</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3300000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.262</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34327</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3490000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8339999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37644</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0779999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6340000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32725</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.207999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63466</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.218</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52685</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9820000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9979999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38681</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6030000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6509999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.871</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.794</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47848</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_direct_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp = coords.xyzw * vec4(1.0, 0.5, 0.25, 0.125).xyzw;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2149999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.433001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43132</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4540000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.571999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40498</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.132</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35492</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.419</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.615</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39831</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1040000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.391999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35583</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3730000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.723000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39039</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2999999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.675000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36291</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5289999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.023001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63245</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2989999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.955998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54057</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1849999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.935</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40353</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8980000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.759</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35918</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6160000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.433001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50290</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_component_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp.x = coords.x;
	tmp.y = coords.y * 0.5;
	tmp.z = coords.z * 0.25;
	tmp.w = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4929999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.283000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43782</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.456</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.542999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39639</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0379999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.154999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34410</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4649999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.614000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39069</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.258</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.583</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36160</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5089999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.802</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40297</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2050000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.654999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35093</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6019999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.252001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63642</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.331</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.995999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54067</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2949999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.999000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41473</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7930000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.773</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35869</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6440000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.660999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50559</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[0] = coords.x;
	tmp[1] = coords.y * 0.5;
	tmp[2] = coords.z * 0.25;
	tmp[3] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4510000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.278998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44805</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3980000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.389000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76995</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4089999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.851002000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72652</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6539999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.152999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78413</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.845001000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71107</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.311000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77820</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4769999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.313000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70657</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">51.597000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">102153</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.286</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">51.145000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">89913</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.3419999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.659999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78776</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0209999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.144001000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71037</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9209999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">42.618000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">87968</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	tmp[ui_zero]  = coords.x;
	tmp[ui_one]   = coords.y * 0.5;
	tmp[ui_two]   = coords.z * 0.25;
	tmp[ui_three] = coords.w * 0.125;
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.657</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">42.251998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78799</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1239999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.042</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43499</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9169999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.25</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37502</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1779999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.951000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42469</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8719999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.452</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1440000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.047000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0309999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.776999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40135</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4359999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.075001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67709</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1020000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.843</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58570</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.236000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2800000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.856999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38608</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5060000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.503</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53655</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2690000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.091000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48674</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_direct_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.625</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.891999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53591</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_direct_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res = dot(tmp, vec4(1.0));
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">326.47000100000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.920999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">369984</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_component_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.597</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">492.27899200000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">529725</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_component_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp.x;
	res += tmp.y;
	res += tmp.z;
	res += tmp.w;
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.573</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.191998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46448</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_static_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7149999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.752001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54748</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_static_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.423</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.558001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46856</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.927</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.226002000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78971</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.702</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.172001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67235</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4390000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.851998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55571</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2400000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.556000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47729</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = vec4(a_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec3(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.875</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.413</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62731</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.vector_subscript.vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = vec4(v_coords);
	mediump vec4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = coords.x;
		coords = coords.yzwx * 0.5;
	}
	mediump float res = 0.0;
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(vec3(res), 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5139999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.080998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56051</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5529999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0670000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35491</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9809999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2710000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32701</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2559999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.731</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43901</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.972</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.955</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38305</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7709999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.641</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36293</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5150000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1199999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32126</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5350000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.958</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45638</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[0] = vec2(coords);
	tmp[1] = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.331</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.242000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40987</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.419</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.862</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45175</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.152000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41187</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2639999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.297999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52505</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.521999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45181</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8610000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.946</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45790</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.504</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.062999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41515</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6459999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.617000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54301</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	tmp[ui_zero]  = vec2(coords);
	tmp[ui_one]   = vec2(coords.yzwx) * 0.5;
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3450000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.923999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47367</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7989999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2680000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38119</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5630000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7089999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32811</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8809999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.665001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46513</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5710000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.834999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40915</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1539999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.436999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39281</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.819</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7430000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34031</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2279999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.856</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47294</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; 2; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.964</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41478</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5590000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.891999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49044</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[0];
	res += tmp[1];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.073</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41302</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6200000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.353000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56545</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3980000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.725000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48031</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2859999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50215</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; 2; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.883</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.260000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42239</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	v_color = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.9369999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.709</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57559</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat2_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat2 tmp;
	for (int i = 0; i &lt; ui_two; i++)
	{
		tmp[i] = vec2(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec2 res = vec2(0.0);
	for (int i = 0; i &lt; ui_two; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 0.0, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6080000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.579999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47784</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5670000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9779999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37198</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2429999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2769999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32594</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.601</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.291</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59873</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1739999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.460999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48722</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0720000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6739999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39451</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7309999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.036</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34819</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6299999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.135999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51462</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[0] = vec3(coords);
	tmp[1] = vec3(coords.yzwx) * 0.5;
	tmp[2] = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3889999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.101998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42869</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4830000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.562000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61598</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3100000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.761998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49759</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.605</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.762999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83269</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2429999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.671000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62180</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0490000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.750999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62273</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7970000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.84</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50442</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.879</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.077998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70285</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	tmp[ui_zero]  = vec3(coords);
	tmp[ui_one]   = vec3(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec3(coords.zwxy) * 0.25;
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.577</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.48</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57515</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.1340000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39975</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.806</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.108000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36045</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2199999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.649000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62166</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9340000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.201000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52541</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.9480000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.603999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43701</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0300000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.045</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2779999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.318999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53298</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; 3; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9860000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.726998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46058</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.829999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55388</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3719999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.042998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45353</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.186001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73808</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4729999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.497999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55842</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2709999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.997999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56019</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; 3; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0860000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.299999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47163</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	v_color = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8260000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.945</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64203</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat3_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat3 tmp;
	for (int i = 0; i &lt; ui_three; i++)
	{
		tmp[i] = vec3(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec3 res = vec3(0.0);
	for (int i = 0; i &lt; ui_three; i++)
		res += tmp[i];
	gl_FragColor = vec4(res, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5430000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.070999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51419</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.802</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7929999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38794</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2410000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0370000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33481</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.827</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.702000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81012</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.964001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57064</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.343</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.68</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41126</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9630000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.119999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34208</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7690000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.771000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55744</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[0] = vec4(coords);
	tmp[1] = vec4(coords.yzwx) * 0.5;
	tmp[2] = vec4(coords.zwxy) * 0.25;
	tmp[3] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.621</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.889999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45172</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.782</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.898001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83350</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4380000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.077000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59139</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">309.48599200000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">48.727001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">435178</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">48.754002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82167</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.3499999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.537998000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84515</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0060000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.006001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58723</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.0179999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.686000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">539748</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	tmp[ui_zero]  = vec4(coords);
	tmp[ui_one]   = vec4(coords.yzwx) * 0.5;
	tmp[ui_two]   = vec4(coords.zwxy) * 0.25;
	tmp[ui_three] = vec4(coords.wxyz) * 0.125;
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7010000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">333.98998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">365162</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.2279999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.9</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42548</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.831</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">200.43100000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">227743</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.399</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">323.67401100000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">375734</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1139999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">349.93701199999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">608316</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.593</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.007999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42927</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1660000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">287.385986</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">311802</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.492</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.672001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58572</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_static_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; 4; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1379999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.893000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">343195</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.8420000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.915001</Number>
    <Text>Image comparison failed: difference = 6350.7, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">458714</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[0];
	res += tmp[1];
	res += tmp[2];
	res += tmp[3];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.423</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.507000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45557</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">600.55401600000005</Number>
    <Text>Image comparison failed: difference = 6350.7, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1043730</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	res += tmp[ui_zero];
	res += tmp[ui_one];
	res += tmp[ui_two];
	res += tmp[ui_three];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5209999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.514000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67472</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4009999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.301000999999999</Number>
    <Text>Image comparison failed: difference = 6350.7, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">455662</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_static_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; 4; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0410000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.622</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46507</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_loop_read_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_color;
uniform mediump int ui_four;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	v_color = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_color;

void main()
{
	gl_FragColor = v_color;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.738</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.917998999999998</Number>
    <Text>Image comparison failed: difference = 6350.7, threshold = 0.07</Text>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">769264</Number>
    <Result StatusCode="Fail">Fail</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_loop_read_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_four;

void main()
{
	mediump vec4 coords = v_coords;
	mediump mat4 tmp;
	for (int i = 0; i &lt; ui_four; i++)
	{
		tmp[i] = vec4(coords);
		coords = coords.yzwx * 0.5;
	}
	mediump vec4 res = vec4(0.0);
	for (int i = 0; i &lt; ui_four; i++)
		res += tmp[i];
	gl_FragColor = vec4(res);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">268.20300300000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">297688</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_lowp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (lowp int ndx = 0; ndx &lt; 3; ndx++)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3039999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2001.8280030000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.8520000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2046894</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_lowp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (lowp int ndx = 0; ndx &lt; 3; ndx++)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.7880000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">152.615005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">461640</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_lowp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform lowp float uf_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (lowp float ndx = 0.05; ndx &lt; 1.0; ndx += 0.333333)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4870000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2550000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37396</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_lowp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform lowp float uf_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (lowp float ndx = 0.05; ndx &lt; 1.0; ndx += 0.333333)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0869999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30767</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_mediump_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int ndx = 0; ndx &lt; 3; ndx++)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3690000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2650000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34981</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_mediump_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int ndx = 0; ndx &lt; 3; ndx++)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1660000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30277</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_mediump_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump float uf_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump float ndx = 0.05; ndx &lt; 1.0; ndx += 0.333333)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5379999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3089999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35269</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_mediump_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump float uf_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump float ndx = 0.05; ndx &lt; 1.0; ndx += 0.333333)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3029999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0760000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31309</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_highp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (highp int ndx = 0; ndx &lt; 3; ndx++)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5630000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2609999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34944</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_highp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (highp int ndx = 0; ndx &lt; 3; ndx++)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2370000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1050000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31328</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_highp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform highp float uf_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (highp float ndx = 0.05; ndx &lt; 1.0; ndx += 0.333333)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.609</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2360000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35094</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.basic_highp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform highp float uf_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (highp float ndx = 0.05; ndx &lt; 1.0; ndx += 0.333333)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2450000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1159999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31407</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.empty_body_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) {}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4969999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8200000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34476</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.empty_body_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) {}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4260000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.665</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31111</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_unconditional_break_first_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (;;) { break; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.7749999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9120000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49593</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_unconditional_break_first_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (;;) { break; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4060000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.5519999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35134</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_unconditional_break_last_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (;;) { res = res.yzwx; break; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.0920000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8559999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34137</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_unconditional_break_last_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (;;) { res = res.yzwx; break; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9249999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6110000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30536</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_conditional_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	mediump int i = 0;
	for (;;) { res = res.yzwx; if (i == 1) break; i++; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3820000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.339</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42345</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.infinite_with_conditional_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	mediump int i = 0;
	for (;;) { res = res.yzwx; if (i == 1) break; i++; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.04</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.141</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34809</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.single_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.484</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3490000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36219</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.single_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4590000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1620000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30838</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.compound_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 2; i++) { res = res.yzwx; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4820000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.516</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35423</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.compound_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 2; i++) { res = res.yzwx; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4449999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3610000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31826</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.sequence_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 2; i++) res = res.yzwx, res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.661</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2210000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35261</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.sequence_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 2; i++) res = res.yzwx, res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.371</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0039999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30523</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.no_iterations_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 0; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2010000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8360000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34423</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.no_iterations_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 0; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7469999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29952</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.single_iteration_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 1; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3399999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7960000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34504</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.single_iteration_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 1; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0550000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7009999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29801</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.select_iteration_count_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform bool ub_true;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; (ub_true ? 3 : 0); i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.399</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.448</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42308</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.select_iteration_count_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform bool ub_true;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; (ub_true ? 3 : 0); i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.23</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.199</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36302</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { if (i == 2) continue; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.387</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.368</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43116</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { if (i == 2) continue; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.339</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.241</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38576</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.unconditional_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { res = res.yzwx; continue; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6880000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4350000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37106</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.unconditional_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { res = res.yzwx; continue; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4399999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2170000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30695</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.only_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { continue; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4769999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7789999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34337</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.only_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { continue; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2570000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.6710000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29921</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.double_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { if (i == 2) continue; res = res.yzwx; continue; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.484</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.333</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43869</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.double_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { if (i == 2) continue; res = res.yzwx; continue; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.464</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.275</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37823</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { if (i == 2) break; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4700000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2200000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34883</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { if (i == 2) break; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3530000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0850000000000009</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31520</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.unconditional_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { res = res.yzwx; break; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3300000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35683</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.unconditional_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { res = res.yzwx; break; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.292</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33103</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.pre_increment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; 3; ++i) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.629</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3320000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36043</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.pre_increment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; 3; ++i) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4420000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1799999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30589</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.post_increment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.423</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3569999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35997</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.post_increment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2360000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1479999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30451</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.mixed_break_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 5; i++) { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6150000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.842000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44353</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.mixed_break_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 5; i++) { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3980000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.596</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38702</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.vector_counter_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump ivec4 i = ivec4(0, 1, 3, 0); i.x &lt; i.z; i.x += i.y) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4300000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.641999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39920</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.vector_counter_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump ivec4 i = ivec4(0, 1, 3, 0); i.x &lt; i.z; i.x += i.y) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.198</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.409000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34443</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.101_iterations_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;
uniform mediump int ui_oneHundredOne;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 101; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4409999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.44</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46478</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.101_iterations_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;
uniform mediump int ui_oneHundredOne;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 101; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0649999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.106</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41675</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.sequence_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	mediump int i;
	for (i = 0; i &lt; 2; i++) { res = res.yzwx; }
	for (; i &lt; 5; i++) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6970000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1639999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36063</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.sequence_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	mediump int i;
	for (i = 0; i &lt; 2; i++) { res = res.yzwx; }
	for (; i &lt; 5; i++) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5219999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9450000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31556</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 2; i++)
	{
		for (mediump int j = 0; j &lt; 3; j++)
			res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.4809999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.327</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38027</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 2; i++)
	{
		for (mediump int j = 0; j &lt; 3; j++)
			res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2779999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9440000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32341</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_sequence_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		for (mediump int j = 0; j &lt; 2; j++)
			res = res.yzwx;
		for (mediump int j = 0; j &lt; 1; j++)
			res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">5.0339999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9109999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38618</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_sequence_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		for (mediump int j = 0; j &lt; 2; j++)
			res = res.yzwx;
		for (mediump int j = 0; j &lt; 1; j++)
			res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.1550000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.183999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34414</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_tricky_dataflow_1_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		res = coords; // ignore outer loop effect 
		for (mediump int j = 0; j &lt; 2; j++)
			res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.5529999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.859</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36599</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_tricky_dataflow_1_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		res = coords; // ignore outer loop effect 
		for (mediump int j = 0; j &lt; 2; j++)
			res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4160000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5709999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32168</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_tricky_dataflow_2_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		res = coords.wxyz;
		for (mediump int j = 0; j &lt; 2; j++)
			res = res.yzwx;
		coords = res;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">4.6749999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.763</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38603</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.nested_tricky_dataflow_2_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		res = coords.wxyz;
		for (mediump int j = 0; j &lt; 2; j++)
			res = res.yzwx;
		coords = res;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4189999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.612</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34228</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_body_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) if (i &lt; 2) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.661</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2530000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35935</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.conditional_body_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++) if (i &lt; 2) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4289999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.9969999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31371</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.function_call_return_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

mediump vec4 func (in mediump vec4 coords) { return coords.yzwx; }

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		res = func(res);
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9019999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35490</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.function_call_return_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

mediump vec4 func (in mediump vec4 coords) { return coords.yzwx; }

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		res = func(res);
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2389999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7059999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31976</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.function_call_inout_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void func (inout mediump vec4 coords) { coords = coords.yzwx; }

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		func(res);
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3780000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8550000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36478</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_constant_iterations.function_call_inout_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void func (inout mediump vec4 coords) { coords = coords.yzwx; }

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; 3; i++)
	{
		func(res);
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1829999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7530000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32566</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_lowp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform lowp int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (lowp int ndx = 0; ndx &lt; ui_three; ndx++)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">2.8210000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.289</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">499449</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_lowp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform lowp int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (lowp int ndx = 0; ndx &lt; ui_three; ndx++)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7320000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.342000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">120005</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_lowp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform lowp float uf_third;
uniform lowp float uf_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (lowp float ndx = 0.05; ndx &lt; uf_one; ndx += uf_third)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3319999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.972</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42605</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_lowp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform lowp float uf_third;
uniform lowp float uf_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (lowp float ndx = 0.05; ndx &lt; uf_one; ndx += uf_third)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9119999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.202</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34867</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_mediump_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int ndx = 0; ndx &lt; ui_three; ndx++)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1269999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.339</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39615</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_mediump_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int ndx = 0; ndx &lt; ui_three; ndx++)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.121</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.065</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33823</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_mediump_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump float uf_third;
uniform mediump float uf_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump float ndx = 0.05; ndx &lt; uf_one; ndx += uf_third)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.291</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40784</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_mediump_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump float uf_third;
uniform mediump float uf_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump float ndx = 0.05; ndx &lt; uf_one; ndx += uf_third)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0169999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.026</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34776</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_highp_int_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform highp int ui_three;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (highp int ndx = 0; ndx &lt; ui_three; ndx++)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1709999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.106999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40480</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_highp_int_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform highp int ui_three;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (highp int ndx = 0; ndx &lt; ui_three; ndx++)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.931</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.042999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33687</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_highp_float_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform highp float uf_third;
uniform highp float uf_one;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (highp float ndx = 0.05; ndx &lt; uf_one; ndx += uf_third)
	{
		res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1339999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.375999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39923</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.basic_highp_float_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform highp float uf_third;
uniform highp float uf_one;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (highp float ndx = 0.05; ndx &lt; uf_one; ndx += uf_third)
	{
		res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.923</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.154999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34873</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.empty_body_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) {}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.68</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37075</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.empty_body_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) {}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9969999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3629999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31485</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_unconditional_break_first_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (;;) { break; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.147</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20965</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_unconditional_break_first_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (;;) { break; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">0.99299999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18606</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_unconditional_break_last_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (;;) { res = res.yzwx; break; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">0.97899999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20768</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_unconditional_break_last_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (;;) { res = res.yzwx; break; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">0.98399999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18607</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_conditional_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	mediump int i = 0;
	for (;;) { res = res.yzwx; if (i == ui_one) break; i++; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2320000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.300000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39735</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.infinite_with_conditional_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	mediump int i = 0;
	for (;;) { res = res.yzwx; if (i == ui_one) break; i++; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.109</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.124000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33878</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.single_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3799999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.457000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39937</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.single_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.956</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.138</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33834</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.compound_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_two; i++) { res = res.yzwx; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.444</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.66</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40338</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.compound_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_two; i++) { res = res.yzwx; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.117</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.484999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35344</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.sequence_statement_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_two; i++) res = res.yzwx, res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4220000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.420999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39970</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.sequence_statement_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_two; i++) res = res.yzwx, res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2749999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.27</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34169</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.no_iterations_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_zero; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2719999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.382</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39808</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.no_iterations_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_zero; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1850000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.279999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35026</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.single_iteration_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_one; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.1800000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.433999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39789</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.single_iteration_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_one; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9790000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.183</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33675</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.select_iteration_count_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform bool ub_true;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; (ub_true ? ui_three : 0); i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.403</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.773</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42905</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.select_iteration_count_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform bool ub_true;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; (ub_true ? ui_three : 0); i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2650000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.362</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35822</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { if (i == ui_two) continue; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4529999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.631</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43240</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { if (i == ui_two) continue; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2480000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.321999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36660</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.unconditional_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { res = res.yzwx; continue; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.431</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.456</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41088</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.unconditional_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { res = res.yzwx; continue; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0939999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.257999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34003</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.only_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { continue; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.407</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.814</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37326</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.only_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { continue; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.085</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.486000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32652</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.double_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { if (i == ui_two) continue; res = res.yzwx; continue; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5049999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.625</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44161</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.double_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { if (i == ui_two) continue; res = res.yzwx; continue; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.319</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.433999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38767</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { if (i == ui_two) break; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.4550000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.089</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41407</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.conditional_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { if (i == ui_two) break; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.93</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35680</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.unconditional_break_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { res = res.yzwx; break; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3050000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6530000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40025</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.unconditional_break_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { res = res.yzwx; break; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0329999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2940000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32910</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.pre_increment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; ui_three; ++i) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.2930000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.465</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39974</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.pre_increment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (int i = 0; i &lt; ui_three; ++i) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.345000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35000</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.post_increment_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3839999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.388999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39969</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.post_increment_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2330000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.615</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">156004</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.mixed_break_continue_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_five; i++) { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.6139999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.112</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45908</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.mixed_break_continue_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_five; i++) { if (i == 0) continue; else if (i == 3) break; res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">348.48400900000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">374025</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.vector_counter_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump ivec4 i = ivec4(0, 1, ui_three, 0); i.x &lt; i.z; i.x += i.y) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5790000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.571999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41920</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.vector_counter_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump ivec4 i = ivec4(0, 1, ui_three, 0); i.x &lt; i.z; i.x += i.y) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3500000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.348000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35865</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.101_iterations_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;
uniform mediump int ui_oneHundredOne;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_oneHundredOne; i++) res = res.yzwx;
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.3929999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.425000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45447</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.101_iterations_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;
uniform mediump int ui_oneHundredOne;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_oneHundredOne; i++) res = res.yzwx;
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2309999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.177</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41703</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.sequence_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	mediump int i;
	for (i = 0; i &lt; ui_two; i++) { res = res.yzwx; }
	for (; i &lt; ui_five; i++) { res = res.yzwx; }
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.5739999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.045999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44014</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.sequence_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	mediump int i;
	for (i = 0; i &lt; ui_two; i++) { res = res.yzwx; }
	for (; i &lt; ui_five; i++) { res = res.yzwx; }
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3620000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37395</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_two; i++)
	{
		for (mediump int j = 0; j &lt; ui_three; j++)
			res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;

void main()
{
	gl_FragColor = vec4(v_color.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">3.7719999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.507999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44471</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_fragment" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec4 v_coords;

void main()
{
	gl_Position = a_position;
	v_coords = a_coords;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec4 v_coords;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	mediump vec4 coords = v_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_two; i++)
	{
		for (mediump int j = 0; j &lt; ui_three; j++)
			res = res.yzwx;
	}
	gl_FragColor = vec4(res.rgb, 1.0);
}
</ShaderSource>
        <InfoLog></InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5760000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.263999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37995</Number>
    <Result StatusCode="Pass">Pass</Result>
  </TestCaseResult>
  <TestCaseResult Version="0.3.3" CasePath="dEQP-GLES2.functional.shaders.loops.for_uniform_iterations.nested_sequence_vertex" CaseType="SelfValidate">
    <ShaderProgram LinkStatus="OK">
      <InfoLog></InfoLog>
      <VertexShader CompileStatus="OK">
        <ShaderSource>attribute highp vec4 a_position;
attribute highp vec4 a_coords;
varying mediump vec3 v_color;
uniform mediump int ui_zero, ui_one, ui_two, ui_three, ui_four, ui_five, ui_six;

void main()
{
	gl_Position = a_position;
	mediump vec4 coords = a_coords;
	mediump vec4 res = coords;
	for (mediump int i = 0; i &lt; ui_three; i++)
	{
		for (mediump int j = 0; j &lt; ui_two; j++)
			res = res.yzwx;
		for (mediump int j = 0; j &lt; ui_one; j++)
			res = res.yzwx;
	}
	v_color = res.rgb;
}
</ShaderSource>
        <InfoLog></InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>varying mediump vec3 v_color;