<?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">14877</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">1582</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 21.3.0-devel (git-38c34bf132)</Text>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1558</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">1474</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_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">2806</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">1846</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">2540</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">4085</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">44309</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">1698</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">1531</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">1563</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">1623</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">1663</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">1538</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">1585</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">1535</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">1646</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">1518</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">1508</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">1537</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">1508</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">1552</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">1513</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">1624</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">1479</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">1552</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">1734</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">41.507998999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.613</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.4530000000000003</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">184588</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.2080000000000002</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">6.1369999999999996</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">168607</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.83299999999999996</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">119489</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">2.2480000000000002</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">6.0620000000000003</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">137727</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.448</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9930000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.4199999999999999</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">144274</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">593474</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">575471</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">295966</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">295955</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">51589</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">51769</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">296949</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">297129</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">591561</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">306882</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">311614</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">315891</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">314484</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">309042</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">307993</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">311022</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">308875</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">85929</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">67466</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">270900</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">316057</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">263830</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">247902</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">422814</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">289075</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">335626</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">347815</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">462878</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">434732</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">368764</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 6 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 6);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab03b0a570, 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">35020</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 7 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 7);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab03b0a570, 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">8113</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 8 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 8);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab03b0a570, 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">7863</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 9 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 9);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab03b0a570, 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">7832</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 10 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 10);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab03b0a570, 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">7902</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 11 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 11);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab03b0a570, 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">7780</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 12 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 12);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 763, 0xaaab039e5be0, 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">7152</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 13 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 13);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 763, 0xaaab039e5be0, 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">7239</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 14 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 14);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 763, 0xaaab039e5be0, 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">80431</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 15 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 15);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 763, 0xaaab039e5be0, 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">69882</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 16 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 16);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 996, 0xaaab03aead90, 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, 0xaaab03aead90, 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, 0xaaab03aead90, 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">16753</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 17 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 17);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 72, 0xaaab03b0bcc0, 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, 0xaaab03b0bcc0, 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, 0xaaab03b0bcc0, 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">6370</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 18 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 18);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 504, 0xaaab039eed70, 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, 0xaaab039eed70, 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">9478</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 19 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 19);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 716, 0xaaab03ae42d0, 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, 0xaaab03ae42d0, 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, 0xaaab03ae42d0, 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">14488</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 20 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 20);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1644, 0xaaab039ed130, 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, 0xaaab039ed130, 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, 0xaaab039ed130, 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, 0xaaab039ed130, 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">31214</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 21 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 21);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1024, 0xaaab03af3ec0, 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, 0xaaab03af3ec0, 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, 0xaaab03ae6bb0, 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, 0xaaab03ae6bb0, 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, 0xaaab03af7d40, 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, 0xaaab03af7d40, 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">70842</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 22 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 22);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 50369, 0xaaab03af7d40, 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, 0xaaab03af7d40, 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, 0xaaab03af7d40, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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">921189</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 23 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 23);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 65220, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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">1248402</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 24 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 24);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 49630, 0xaaab03af7d40, 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, 0xaaab03af7d40, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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, 0xaaab03a04e10, 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">956555</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, 0x0000fffffc01d2bc);</Text>
    <Text>// buffers = { 25 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 25);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 20548, 0xaaab03af7d40, 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, 0xaaab03af7d40, 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, 0xaaab03a04e10, 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, 0xaaab03a0dc40, 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, 0xaaab03a1b7a0, 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, 0xaaab03a1b7a0, 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, 0xaaab03a1b7a0, 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, 0xaaab03a1b7a0, 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, 0xaaab03a1b7a0, 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, 0xaaab03a1b7a0, 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">1266163</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 26 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 26);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab03af3ec0, 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">7962</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 27 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 27);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab03aeb440, 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">7862</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 28 }</Text>
    <Text>glBindBuffer(GL_ARRAY_BUFFER, 28);</Text>
    <Text>glBufferData(GL_ARRAY_BUFFER, 1020, 0xaaab03aeb440, 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">7833</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 29 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 29);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab03aeb440, 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">7949</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 30 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 30);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab03aeb440, 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">7854</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, 0x0000fffffc01d2ec);</Text>
    <Text>// buffers = { 31 }</Text>
    <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 31);</Text>
    <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 1020, 0xaaab03ae3c20, 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">7862</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, 0x0000fffffc01d27c);</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, 0xaaab03aead90);</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">7885</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, 0x0000fffffc01d27c);</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, 0xaaab03adfa49);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, 729, 0xaaab03adf770);</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">10404</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, 0x0000fffffc01d27c);</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, 0xaaab03b0b260);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 1421, 523, 0xaaab03b0b7ed);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 421, 1000, 0xaaab03b0b405);</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">11549</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, 0x0000fffffc01d27c);</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, 0xaaab03ae9640);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 429, 200, 0xaaab03ae97ed);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 513, 687, 0xaaab03ae9841);</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">9045</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, 0x0000fffffc01d27c);</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, 0xaaab03aead90);</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">6979</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, 0x0000fffffc01d27c);</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, 0xaaab03aead90);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 98, 511, 0xaaab03aeadf2);</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">7103</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, 0x0000fffffc01d27c);</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, 0xaaab03af3d40);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 371, 400, 0xaaab03af3eb3);</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">7245</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, 0x0000fffffc01d27c);</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, 0xaaab03aeaf84);</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">6954</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, 0x0000fffffc01d27c);</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, 0xaaab03ae9898);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 723, 477, 0xaaab03ae9913);</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">6539</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, 0x0000fffffc01d27c);</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, 0xaaab03ae9898);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 601, 599, 0xaaab03ae9899);</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">6531</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, 0x0000fffffc01d27c);</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, 0xaaab03ae6f98);</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">8216</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, 0x0000fffffc01d27c);</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, 0xaaab03ae6ebc);</Text>
    <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1000, 500, 0xaaab03ae6f98);</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, 0x0000fffffc01d27c);</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, 0xaaab03ae6ebc);</Text>
    <Text>glBufferSubData(GL_ARRAY_BUFFER, 1000, 501, 0xaaab03ae6f98);</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">7230</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, 0x0000fffffc01d30c);</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, 0xaaab03af7d40, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4550, 1328, 0xaaab03af8f06);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 17420, 12, 0xaaab03afc14c);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3884, 3715, 0xaaab03af8c6c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2275, 4565, 0xaaab03af8623);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15926, 32, 0xaaab03afbb76);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 709, 12, 0xaaab03af8005);</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, 0xaaab03af99fb);</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, 0xaaab03af9424);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8847, 2401, 0xaaab03af9fcf);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6497, 3706, 0xaaab03af96a1);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6226, 2839, 0xaaab03af9592);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6961, 618, 0xaaab03af9871);</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, 0xaaab03af9aaf);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4171, 102, 0xaaab03af8d8b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2118, 991, 0xaaab03af8586);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 10319, 300, 0xaaab03afa58f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10067, 568, 0xaaab03afa493);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 542, 3669, 0xaaab03af7f5e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8751, 1364, 0xaaab03af9f6f);</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, 0xaaab03af8968);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1299, 3484, 0xaaab03af8253);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2675, 4241, 0xaaab03af87b3);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8984, 276, 0xaaab03afa058);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2202, 1418, 0xaaab03af85da);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2289, 21, 0xaaab03af8631);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4610, 210, 0xaaab03af8f42);</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, 0xaaab03af82db);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9948, 659, 0xaaab03afa41c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4833, 336, 0xaaab03af9021);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 11982, 78, 0xaaab03afac0e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5771, 3668, 0xaaab03af93cb);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10609, 1420, 0xaaab03afa6b1);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 45);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1434, 2946, 0xaaab03af82da);</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">199301</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, 0x0000fffffc01d30c);</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, 0xaaab03afc585);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5251, 566, 0xaaab03afd803);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2520, 3247, 0xaaab03afcd58);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6569, 65, 0xaaab03afdd29);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5525, 1194, 0xaaab03afd915);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 906, 903, 0xaaab03afc70a);</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, 0xaaab03afcc46);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7952, 863, 0xaaab03afe290);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4542, 12, 0xaaab03afd53e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3998, 2413, 0xaaab03afd31e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8260, 2965, 0xaaab03afe3c4);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1625, 21, 0xaaab03afc9d9);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6161, 12, 0xaaab03afdb91);</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, 0xaaab03afdb14);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1328, 346, 0xaaab03afc8b0);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 40, 3382, 0xaaab03afc3a8);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4730, 2883, 0xaaab03afd5fa);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 642, 567, 0xaaab03afc602);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 427, 12, 0xaaab03afc52b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2555, 12, 0xaaab03afcd7b);</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, 0xaaab03afd589);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5595, 2363, 0xaaab03afd95b);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7199, 1388, 0xaaab03afdf9f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7098, 3399, 0xaaab03afdf3a);</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, 0xaaab03afc40d);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 135, 286, 0xaaab03afc407);</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, 0xaaab03afc497);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 409, 202, 0xaaab03afc519);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 360, 145, 0xaaab03afc4e8);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1028, 37, 0xaaab03afc784);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 46);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 316, 12, 0xaaab03afc4bc);</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, 0xaaab03a06090);</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">107838</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, 0x0000fffffc01d30c);</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, 0xaaab03afc380, GL_DYNAMIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8062, 78, 0xaaab03afe2fe);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 839, 754, 0xaaab03afc6c7);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9464, 228, 0xaaab03afe878);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1539, 432, 0xaaab03afc983);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2290, 2791, 0xaaab03afcc72);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 399, 1037, 0xaaab03afc50f);</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, 0xaaab03afcf4e);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7430, 291, 0xaaab03afe086);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6694, 2844, 0xaaab03afdda6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5161, 2424, 0xaaab03afd7a9);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1026, 477, 0xaaab03afc782);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7938, 12, 0xaaab03afe282);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3130, 12, 0xaaab03afcfba);</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, 0xaaab03afd8dc);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7550, 725, 0xaaab03afe0fe);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4425, 12, 0xaaab03afd4c9);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1195, 2029, 0xaaab03afc82b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2293, 2493, 0xaaab03afcc75);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3224, 18, 0xaaab03afd018);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 185, 12, 0xaaab03afc439);</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, 0xaaab03afd9b6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2195, 24, 0xaaab03afcc13);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1620, 48, 0xaaab03afc9d4);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 31853, 0, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2012, 1246, 0xaaab03a0b7bc);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 5239, 0xaaab03a0afe0, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 104, 55, 0xaaab03a0b048);</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, 0xaaab03a0bd01);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3542, 12, 0xaaab03a0bdb6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4275, 110, 0xaaab03a0c093);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3550, 17, 0xaaab03a0bdbe);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3950, 95, 0xaaab03a0bf4e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2829, 965, 0xaaab03a0baed);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 47);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1898, 219, 0xaaab03a0b74a);</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">147506</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, 0x0000fffffc01d30c);</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, 0xaaab03ae6b90, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2397, 962, 0xaaab03ae74ed);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 618, 1171, 0xaaab03ae6dfa);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 480, 76, 0xaaab03ae6d70);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 849, 392, 0xaaab03ae6ee1);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1706, 12, 0xaaab03ae723a);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1700, 58, 0xaaab03ae7234);</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, 0xaaab03ae76a5);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1167, 721, 0xaaab03ae701f);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 202, 424, 0xaaab03ae6c5a);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2340, 1038, 0xaaab03ae74b4);</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, 0xaaab03ae6c1d);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 135, 286, 0xaaab03ae6c17);</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, 0xaaab03ae701c);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1246, 12, 0xaaab03ae706e);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 908, 12, 0xaaab03ae6f1c);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 31853, 0, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2012, 1246, 0xaaab03afcb5c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 5239, 0xaaab03afc380, GL_STATIC_DRAW);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 104, 55, 0xaaab03afc3e8);</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, 0xaaab03afc7d9);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3689, 387, 0xaaab03afd1e9);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5126, 12, 0xaaab03afd786);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2460, 1083, 0xaaab03afcd1c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1126, 1331, 0xaaab03afc7e6);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1276, 12, 0xaaab03afc87c);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4421, 12, 0xaaab03afd4c5);</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, 0xaaab03afca1e);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 2651, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1478, 723, 0xaaab03afc946);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2598, 12, 0xaaab03afcda6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1631, 12, 0xaaab03afc9df);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1665, 12, 0xaaab03afca01);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 48);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 705, 12, 0xaaab03afc641);</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">66166</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, 0x0000fffffc01d30c);</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, 0xaaab03a12c60, GL_DYNAMIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 13278, 1404, 0xaaab03a1603e);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7750, 715, 0xaaab03a14aa6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12806, 166, 0xaaab03a15e66);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1045, 7815, 0xaaab03a13075);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1849, 3024, 0xaaab03a13399);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 588, 6276, 0xaaab03a12eac);</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, 0xaaab03a15a6c);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2167, 4118, 0xaaab03a134d7);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 14350, 2948, 0xaaab03a1646e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3062, 745, 0xaaab03a13856);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 9867, 12, 0xaaab03a152eb);</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, 0xaaab03a13ee0);</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, 0xaaab03a165cd);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 22097, 46, 0xaaab03a182b1);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8091, 523, 0xaaab03a14bfb);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12138, 83, 0xaaab03a15bca);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 18107, 455, 0xaaab03a1731b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6184, 4610, 0xaaab03a14488);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 14742, 1047, 0xaaab03a165f6);</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, 0xaaab03a12f81);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 2651, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1478, 723, 0xaaab03a13226);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2598, 12, 0xaaab03a13686);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1631, 12, 0xaaab03a132bf);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1665, 12, 0xaaab03a132e1);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 705, 12, 0xaaab03a12f21);</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, 0xaaab03a135a2);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1414, 196, 0xaaab03a131e6);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1422, 12, 0xaaab03a131ee);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1531, 548, 0xaaab03a1325b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1403, 674, 0xaaab03a131db);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1424, 12, 0xaaab03a131f0);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 49);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 977, 12, 0xaaab03a13031);</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">168955</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, 0x0000fffffc01d30c);</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, 0xaaab03a19ed1);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 16068, 1248, 0xaaab03a1d684);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7157, 2045, 0xaaab03a1b3b5);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15842, 16, 0xaaab03a1d5a2);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 805, 2256, 0xaaab03a19ae5);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1068, 5675, 0xaaab03a19bec);</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, 0xaaab03a1a834);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10054, 60, 0xaaab03a1bf06);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3944, 1322, 0xaaab03a1a728);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12374, 3936, 0xaaab03a1c816);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5090, 5499, 0xaaab03a1aba2);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8239, 1290, 0xaaab03a1b7ef);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 18142, 48, 0xaaab03a1de9e);</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, 0xaaab03a1bf2c);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5430, 188, 0xaaab03a1acf6);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10685, 155, 0xaaab03a1c17d);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5639, 430, 0xaaab03a1adc7);</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, 0xaaab03a1a1ac);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3471, 70, 0xaaab03a1a54f);</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, 0xaaab03a1a375);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3278, 52, 0xaaab03a1a48e);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 18, 14, 0xaaab03a197d2);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 955, 222, 0xaaab03a19b7b);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1664, 371, 0xaaab03a19e40);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1157, 190, 0xaaab03a19c45);</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, 0xaaab03a223d3);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8799, 57, 0xaaab03a2082f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5803, 2353, 0xaaab03a1fc7b);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2152, 5153, 0xaaab03a1ee38);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 10399, 12, 0xaaab03a20e6f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 16711, 2808, 0xaaab03a22717);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 50);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15516, 2699, 0xaaab03a2226c);</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">136105</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, 0x0000fffffc01d30c);</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, 0xaaab03a23770, GL_STATIC_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 15489, 6959, 0xaaab03a273f1);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 24271, 37, 0xaaab03a2963f);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 23065, 12, 0xaaab03a29189);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 8444, 5136, 0xaaab03a2586c);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 11924, 423, 0xaaab03a26604);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9089, 6411, 0xaaab03a25af1);</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, 0xaaab03a257ac);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 18640, 12, 0xaaab03a28040);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6072, 12, 0xaaab03a24f28);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 3386, 8281, 0xaaab03a244aa);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 22194, 12, 0xaaab03a28e22);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3821, 1655, 0xaaab03a2465d);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 19621, 12, 0xaaab03a28415);</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, 0xaaab03a24fb1);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 13657, 604, 0xaaab03a26cc9);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5454, 12, 0xaaab03a24cbe);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5956, 549, 0xaaab03a24eb4);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1153, 1744, 0xaaab03a23bf1);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 10408, 1729, 0xaaab03a26018);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1194, 2341, 0xaaab03a23c1a);</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, 0xaaab03a23f07);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 12258, 402, 0xaaab03a26752);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 14256, 26, 0xaaab03a26f20);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15913, 286, 0xaaab03a27599);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6178, 1757, 0xaaab03a24f92);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 12569, 63, 0xaaab03a26889);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 51);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5323, 293, 0xaaab03a24c3b);</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, 0xaaab03a23f9f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 23365, 382, 0xaaab03a292b5);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 21923, 994, 0xaaab03a28d13);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 13134, 3927, 0xaaab03a26abe);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6973, 155, 0xaaab03a252ad);</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, 0xaaab03a23e0b);</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">385232</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, 0x0000fffffc01d30c);</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, 0xaaab03a1ab63);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 79, 120, 0xaaab03a1980f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2365, 2456, 0xaaab03a1a0fd);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1377, 12, 0xaaab03a19d21);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 2091, 12, 0xaaab03a19feb);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5367, 87, 0xaaab03a1acb7);</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, 0xaaab03a1a95e);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 23819, 0xaaab03a2a110, GL_STREAM_DRAW);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 16151, 1481, 0xaaab03a2e027);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 15806, 1609, 0xaaab03a2dece);</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, 0xaaab03a2a19c);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 177, 12, 0xaaab03a2a1c1);</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, 0xaaab03a2a138);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 43, 12, 0xaaab03a2a13b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 14, 12, 0xaaab03a2a11e);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 182, 12, 0xaaab03a2a1c6);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 107, 12, 0xaaab03a2a17b);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 128, 12, 0xaaab03a2a190);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 53, 12, 0xaaab03a2a145);</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, 0xaaab03a2a127);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 20, 28, 0xaaab03a2a124);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 85, 22, 0xaaab03a2a165);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 168, 12, 0xaaab03a2a1b8);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 99, 53, 0xaaab03a2a173);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 125, 35, 0xaaab03a2a18d);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 43, 12, 0xaaab03a2a13b);</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, 0xaaab03a2a185);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 63, 13, 0xaaab03a2a14f);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 128, 33, 0xaaab03a2a190);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 95, 50, 0xaaab03a2a16f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 52);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 161, 29, 0xaaab03a2a1b1);</Text>
      <Text>glBufferData(GL_ARRAY_BUFFER, 12112, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7140, 1876, 0xaaab03a2bcf4);</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">37972</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, 0x0000fffffc01d30c);</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, 0xaaab03a1b89c);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8031, 802, 0xaaab03a1b71f);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2637, 12, 0xaaab03a1a20d);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8030, 1193, 0xaaab03a1b71e);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5377, 3040, 0xaaab03a1acc1);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8940, 1090, 0xaaab03a1baac);</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, 0xaaab03a1a2ba);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8058, 147, 0xaaab03a1b73a);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7905, 1411, 0xaaab03a1b6a1);</Text>
      <Text>glBufferData(GL_ELEMENT_ARRAY_BUFFER, 2955, 0, GL_STREAM_DRAW);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1282, 717, 0xaaab03a19cc2);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1626, 147, 0xaaab03a19e1a);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2587, 246, 0xaaab03a1a1db);</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, 0xaaab03a1a26f);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 493, 12, 0xaaab03a199ad);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2161, 739, 0xaaab03a1a031);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2848, 12, 0xaaab03a1a2e0);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1104, 839, 0xaaab03a19c10);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 261, 610, 0xaaab03a198c5);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 568, 547, 0xaaab03a199f8);</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, 0xaaab03a19e94);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1381, 257, 0xaaab03a19d25);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 529, 349, 0xaaab03a199d1);</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, 0xaaab03a19c58);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1196, 163, 0xaaab03a19c6c);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 896, 12, 0xaaab03a19b40);</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, 0xaaab03a19a88);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 546, 103, 0xaaab03a199e2);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1015, 12, 0xaaab03a19bb7);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1066, 12, 0xaaab03a19bea);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 286, 12, 0xaaab03a198de);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 53);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 1294, 163, 0xaaab03a19cce);</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">43495</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, 0x0000fffffc01d30c);</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, 0xaaab03a31c6d);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 24039, 87, 0xaaab03a35c17);</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, 0xaaab03a30226);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 6578, 12, 0xaaab03a317e2);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5397, 2196, 0xaaab03a31345);</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, 0xaaab03a33a5d);</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, 0xaaab03a327b3);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 52, 119, 0xaaab03a2fe64);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4888, 939, 0xaaab03a31148);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5498, 4175, 0xaaab03a313aa);</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, 0xaaab03a31b40);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5709, 3530, 0xaaab03a3147d);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 524, 944, 0xaaab03a3003c);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9593, 18, 0xaaab03a323a9);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4788, 1735, 0xaaab03a310e4);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 5663, 2491, 0xaaab03a3144f);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 7428, 185, 0xaaab03a31b34);</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, 0xaaab03a32467);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 4330, 1655, 0xaaab03a30f1a);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8535, 952, 0xaaab03a31f87);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 1131, 2721, 0xaaab03a3029b);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3778, 2875, 0xaaab03a30cf2);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 5667, 494, 0xaaab03a31453);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 6523, 26, 0xaaab03a317ab);</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, 0xaaab03a317e0);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 3953, 733, 0xaaab03a30da1);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 8835, 12, 0xaaab03a320b3);</Text>
      <Text>glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 9523, 1684, 0xaaab03a32363);</Text>
      <Text>glBindBuffer(GL_ARRAY_BUFFER, 54);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 7238, 4235, 0xaaab03a31a76);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 4199, 394, 0xaaab03a30e97);</Text>
      <Text>glBufferSubData(GL_ARRAY_BUFFER, 2734, 4154, 0xaaab03a308de);</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">162840</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.774</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8320000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3640000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17886</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.1230000000000002</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.844999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28116</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">6.2569999999999997</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.414000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30938</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">6.093</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.627001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35060</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.9859999999999998</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.712</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39040</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">6.0069999999999997</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.256000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44716</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">5.9660000000000002</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.516998000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49048</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">6.1280000000000001</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">43.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53552</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.9980000000000002</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">48.152000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57867</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.1660000000000004</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">52.631000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62626</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">6.0460000000000003</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.375999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35818</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.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">31.278998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40870</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.1559999999999997</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">43.582000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53140</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">6.0300000000000002</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">54.019001000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63648</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">6.0179999999999998</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">68.525002000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78304</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">6.2080000000000002</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">80.311995999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">90334</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">6.0419999999999998</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">93.971999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">103991</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">6.0970000000000004</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">106.950996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">117062</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.9669999999999996</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">122.899002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">133196</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.42199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.1299999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3945</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.542</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.307</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.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.51100000000000001</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">2602</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.012</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">2578</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">2.3809999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.97</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">23869</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.012999999999999999</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">7.9509999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21088</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.378</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">2482</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28100000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2425</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.28399999999999997</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">2346</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.17699999999999999</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.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.488</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.284000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23351</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.1219999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1189999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20897</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.4969999999999999</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.192</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21662</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.014</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">8.1069999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19105</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.5569999999999999</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.282999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23639</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.014</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">8.0779999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19010</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.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">11.374000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23593</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3130000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1850000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21796</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.40000000000000002</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">2648</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.10000000000000001</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">2444</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.314</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">2383</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2482</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.309</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">2391</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2343</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.5470000000000002</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.34</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21701</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.014</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.1340000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19215</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.317</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">2584</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.012</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">2403</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.27300000000000002</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">2350</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.17799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2316</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.35099999999999998</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">2446</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.010999999999999999</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">2365</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.27600000000000002</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">2477</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.374</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_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.33200000000000002</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">2430</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23899999999999999</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.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.34200000000000003</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">2434</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.012</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.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.39000000000000001</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">2561</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.012999999999999999</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">2318</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.34899999999999998</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">2407</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.012</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">2338</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.35499999999999998</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">2430</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23400000000000001</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.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">0.35199999999999998</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">2489</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23799999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2301</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.6800000000000002</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.369</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21813</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.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">8.1820000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19276</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.5459999999999998</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.461</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21805</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.012999999999999999</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">8.1020000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19092</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.617</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.346</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21653</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.014</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">8.2910000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19036</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.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">11.446999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21808</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.014</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">8.2040000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19086</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.5859999999999999</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.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21790</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.012999999999999999</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">8.0980000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18872</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.6139999999999999</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.311999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21793</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.012999999999999999</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.0830000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18751</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.718</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.329000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21753</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.014</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">8.1419999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19157</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.746</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.308999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21762</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.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">8.9700000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19902</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.403</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.359</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23502</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3410000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1609999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21037</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.4319999999999999</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21692</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.014</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.1489999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19134</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.3900000000000001</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.379</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21556</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.129</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19007</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.3500000000000001</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.385999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21431</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.014</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.2889999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19243</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.49099999999999999</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">2620</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.39500000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2679</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.30299999999999999</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">2426</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.17999999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2202</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.25900000000000001</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">2354</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.14399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2192</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.4460000000000002</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.493</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21815</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.014999999999999999</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">8.2579999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19204</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.7679999999999998</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.361000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23835</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6859999999999999</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">21431</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.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">11.446999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23690</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.014</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">8.0969999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20904</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.899</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.027</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.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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6459999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3868</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">1.901</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">4112</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6319999999999999</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.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.9510000000000001</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">4220</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.722</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3930</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.897</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">4125</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.752</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4071</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">1.754</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">4066</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4010</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.5699999999999998</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.236000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21741</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.012999999999999999</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">8.1280000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19157</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.7440000000000002</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.186999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22982</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3479999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5760000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19896</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.6360000000000001</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.280000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30914</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3849999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6300000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19975</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.35699999999999998</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">2554</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.374</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.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.317</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">2453</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.35899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2553</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.26800000000000002</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">2407</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.12</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">2500</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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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.0070000000000000001</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.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
</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.22600000000000001</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.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.22800000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</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_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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32500000000000001</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.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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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.22600000000000001</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">2327</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
</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.33000000000000002</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.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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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">2273</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
</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">0.32000000000000001</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.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.32400000000000001</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">2466</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32300000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2494</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.56200000000000006</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">2792</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.46800000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2556</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.626</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">2722</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.44900000000000001</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.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.38300000000000001</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">2473</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.012</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">2463</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.22700000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</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_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.012999999999999999</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">2431</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.18099999999999999</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">2253</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28000000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2427</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.18099999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2209</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2390</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.17799999999999999</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">2303</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.012999999999999999</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">2329</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.17799999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2239</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.184</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2460</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.184</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">2204</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.27600000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2377</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.187</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">2209</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28000000000000003</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_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.17199999999999999</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">2218</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.28100000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2322</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.4809999999999999</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.484999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24370</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.014</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">8.2859999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20988</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.6379999999999999</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.154999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22567</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.014</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">8.2110000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19316</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.444</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.308</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23367</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.282</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21019</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.6059999999999999</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.398</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21808</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.014</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">8.1509999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18935</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">2.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">12.148999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22434</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.012999999999999999</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">8.1679999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19165</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.71</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.407</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21923</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.014</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">8.1859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19015</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.6040000000000001</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.627000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22068</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.014</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">7.883</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18756</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.5190000000000001</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.417999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21790</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.014</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">8.9770000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19782</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.589</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.426</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21796</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.014</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">8.1929999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18948</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.448</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.601000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22023</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.145</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">19919</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.4910000000000001</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.369</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21671</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.014</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">8.1859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19214</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.4199999999999999</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.470000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21616</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.014</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">8.9329999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19765</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.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">11.460000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21592</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1669999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2509999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19219</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.4199999999999999</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.521000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21666</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.014999999999999999</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">8.1219999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19001</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.306</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.577999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21801</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.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">8.1449999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19143</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.4279999999999999</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.452</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21747</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2970000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2420000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19329</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.47399999999999998</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">2611</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.012</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">2474</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.34699999999999998</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">2442</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32700000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2395</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.253</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">2363</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.012</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">2408</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.311</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</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_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.012999999999999999</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">2321</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.317</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">2399</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.012999999999999999</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">2419</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.374</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">2456</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.012</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">2280</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.221</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">2440</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.010999999999999999</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">2310</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.32200000000000001</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">2421</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.21099999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2320</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.5009999999999999</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.353999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21589</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.014</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.1020000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18822</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.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">11.356999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21609</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.014999999999999999</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">8.0879999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18946</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.6040000000000001</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.395</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21853</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.014</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">8.9819999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19709</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.46800000000000003</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">2668</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.010999999999999999</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">2391</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.34399999999999997</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">2457</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22700000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2286</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.23300000000000001</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">2513</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.224</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.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.33100000000000002</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">2406</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.217</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2295</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.34499999999999997</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">2417</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.012</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">2311</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.25700000000000001</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">2463</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.012</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">2309</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.35899999999999999</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">2429</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.34799999999999998</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.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.25900000000000001</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">2304</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.35699999999999998</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.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.33700000000000002</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">2539</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23400000000000001</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.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.35999999999999999</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">2490</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.24299999999999999</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.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.26500000000000001</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">2489</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.012</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">2415</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.35899999999999999</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">2471</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.012999999999999999</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">2354</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.23699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</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.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.012999999999999999</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">2374</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.182</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">2238</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.012</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">2419</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.29499999999999998</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">2404</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.187</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2245</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.311</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">2436</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.012</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">2271</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.22600000000000001</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">2422</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.21299999999999999</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_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.313</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.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.012</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">2379</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.20000000000000001</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">2449</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.012999999999999999</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">2349</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.19800000000000001</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">2222</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2454</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.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">2233</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.29899999999999999</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_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.219</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2350</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.317</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.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.224</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">2240</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.27400000000000002</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_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.20100000000000001</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">2271</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.012</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">2340</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.20100000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</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.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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.312</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2429</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.34899999999999998</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">2422</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2427</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.32100000000000001</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">2429</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.217</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2395</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.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">2342</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.318</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.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.20300000000000001</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">2214</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.30299999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2451</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.24199999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2316</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.012</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">2396</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.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2360</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.106</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.23899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2502</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.19600000000000001</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">2219</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.11600000000000001</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">2449</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.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2231</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.115</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">2382</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.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">2328</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.31900000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2386</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.20799999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2254</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.012999999999999999</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">2511</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.20699999999999999</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">2242</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.20899999999999999</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_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.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">2342</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.012999999999999999</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">2371</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.224</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">2385</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.012</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">2471</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.29299999999999998</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">2475</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.012999999999999999</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">2262</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.5409999999999999</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.49</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21891</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.014</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">8.1600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19005</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.5499999999999998</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.425000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21714</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.014</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">8.2070000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19159</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.605</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.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21675</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.014999999999999999</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.1069999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18783</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.40200000000000002</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">2553</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.183</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.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.4359999999999999</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.214</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22492</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.014</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.1140000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18840</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.5899999999999999</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.292</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21761</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.014</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.0939999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18843</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.47399999999999998</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">2596</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.17999999999999999</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.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.3519999999999999</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.452999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21545</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.012999999999999999</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">8.077</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18926</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.6179999999999999</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.467000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21929</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.014</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">8.1400000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18827</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.6440000000000001</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.326000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21778</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0099999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0820000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18825</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.5310000000000001</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.372999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21703</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.014</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">8.1739999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19014</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.7829999999999999</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.058999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20746</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.452</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.875</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18032</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.41699999999999998</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">2658</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.012999999999999999</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">2270</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.33200000000000002</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">2449</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.22800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2499</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.217</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">2245</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.314</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2418</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.21099999999999999</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">2335</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.317</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_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.214</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">2285</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2507</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.0070000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2192</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2314</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.151</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">2222</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.012999999999999999</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">2401</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.25600000000000001</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">2322</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.24299999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2347</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.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">2366</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.36099999999999999</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.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.20599999999999999</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">2333</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.012</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">2391</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.216</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2291</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.32700000000000001</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.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.4239999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.274</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3059999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26647</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.014</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.9819999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23068</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.7130000000000001</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.458</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21942</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.014</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">9.9949999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21124</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.433</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">2601</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.012999999999999999</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">2327</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.308</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.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.012</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">2460</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">2314</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.012</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">2430</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.19700000000000001</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">2288</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.012999999999999999</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">2353</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.448</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8029999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7100000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22762</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.488</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6920000000000002</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">22743</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.5150000000000001</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.342000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21533</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.129</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1609999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18956</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.4399999999999999</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">4.5229999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9545</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0169999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.5540000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9064</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.4089999999999998</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">4.5330000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9417</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1480000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.5090000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9252</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.4049999999999998</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.423999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21648</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.1749999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1500000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18886</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.6589999999999998</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.409000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21802</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.014</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.1839999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18955</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.55200000000000005</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">2770</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.251</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2349</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.375</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">2449</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.012</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">2355</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.36199999999999999</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">2444</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.251</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.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.26400000000000001</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">2527</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.012</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">2374</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.36899999999999999</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">2427</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.012</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">2372</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.36699999999999999</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">2450</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.25</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2279</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.26500000000000001</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">2522</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.012</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">2345</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 $undefined, 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.26100000000000001</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">2403</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 $undefined, expecting COLON
</InfoLog>
      </FragmentShader>
    </ShaderProgram>
    <Number Name="VertexCompileTime" Description="Vertex shader compile time" Unit="ms" Tag="Time">0.109</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">2516</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 $undefined, 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.25700000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2304</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 $undefined, expecting EOL
</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.26200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2418</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.26800000000000002</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">2511</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.012</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">2434</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.4430000000000001</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.348000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21538</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.014</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.1549999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19050</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.6659999999999999</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.35</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21958</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3330000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4589999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19767</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.8319999999999999</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.869</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22515</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.012999999999999999</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">8.5609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19716</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.75</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.917999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22577</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.014</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">8.5589999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19748</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.641</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.862</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22333</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.014</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">8.5350000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19723</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.9159999999999999</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.028</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22999</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.014</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">8.5399999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19744</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.742</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.284000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22874</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.014999999999999999</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">8.5259999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19856</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.6459999999999999</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.916</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22712</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.014999999999999999</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">8.5220000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19660</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.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">11.648</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21822</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.014</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">9.1859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20174</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.6960000000000002</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.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22108</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2210000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1910000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19167</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.488</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.49</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21747</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.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">8.0850000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18900</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.5329999999999999</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.380000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21855</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9780000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2040000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18864</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.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">11.43</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21773</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.012999999999999999</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.1270000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18991</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.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.2549999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8725</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.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">1.044</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8628</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.472</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.4</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22489</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">271.63299599999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4380000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">287747</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.5009999999999999</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.391999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21587</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.014</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">8.1010000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18980</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.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">11.265000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21622</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.012999999999999999</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">8.1270000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19075</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.5459999999999998</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.289</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21598</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.014999999999999999</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.125</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18995</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.5209999999999999</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.263999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21515</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.0369999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">345.78900099999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">358067</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.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">11.692</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22044</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.122</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.2669999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19169</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">3.899</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.472</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23324</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.16600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9369999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0700000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18920</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.528</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.404</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21803</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.124</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">8.1180000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19161</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.3330000000000002</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.365</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21517</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.014999999999999999</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">8.0690000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19046</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.6240000000000001</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.413</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21727</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.014999999999999999</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">8.1069999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18991</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.5179999999999998</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.316000000000001</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.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.126</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.0280000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19892</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.629</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.362</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21835</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.20000000000000001</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">8.1280000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19161</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.42199999999999999</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">2568</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.318</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_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.30099999999999999</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">2356</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.012999999999999999</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">2444</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.29299999999999998</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">2434</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.012999999999999999</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">2399</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.29599999999999999</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">2405</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.012</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">2431</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.30399999999999999</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">2351</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.012999999999999999</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">2432</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.30499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.0060000000000000001</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.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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.30399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2373</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.20399999999999999</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">2475</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.010999999999999999</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">2376</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.311</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">2343</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.012999999999999999</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">2412</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.5059999999999998</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.417999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21813</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.111</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0489999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1099999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18936</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.577</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.243</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22566</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.014</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.048</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18898</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.6419999999999999</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.332000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21650</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2040000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19047</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.6259999999999999</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.212999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22616</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2010000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.048</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.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.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">11.348000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21729</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0899999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1270000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18995</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.5499999999999998</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.356999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21648</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.014</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">8.109</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19070</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.4580000000000002</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.423</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21618</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.014</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">8.1240000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19019</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.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">11.468</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21831</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1989999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19072</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.5569999999999999</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.177</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22395</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2810000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1509999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19114</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.649</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.454000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21846</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.014</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.0690000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18911</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.52</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.343999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21573</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.014999999999999999</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">8.2129999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19163</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.5619999999999998</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.454000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21729</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.012999999999999999</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">8.1980000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19074</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.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">12.191000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22581</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.014999999999999999</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">8.1099999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18947</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.4620000000000002</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.552</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21752</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.355</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1370000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22670</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.544</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.590999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21902</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.014</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">8.1699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19015</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.5699999999999998</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.327999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21611</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0339999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1110000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18814</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.5760000000000001</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.375</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21670</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0739999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1300000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18917</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.5390000000000001</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.378</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21858</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.014</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.1329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19066</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.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">11.382999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21726</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1619999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1609999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19012</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.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.401</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21552</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0489999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1630000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18909</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.6440000000000001</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.358000000000001</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.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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1259999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18867</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.5449999999999999</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.448</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21714</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.014</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">8.1329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18802</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.5819999999999999</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.472</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21939</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.014999999999999999</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">8.1400000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18877</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.6619999999999999</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.443</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21882</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.014</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">8.2149999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19018</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.6680000000000001</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.331</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21841</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.014</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">8.2029999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19043</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.4729999999999999</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.444000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21648</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.014</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">8.0800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18917</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.6600000000000001</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.369999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21857</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2879999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6050000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19921</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.6869999999999998</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.936</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22701</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.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">8.5709999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20145</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.6859999999999999</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.896000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22691</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3370000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6110000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19846</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.7330000000000001</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.791</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23274</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.014</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">8.3460000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19270</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.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">11.401</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21797</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.093</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2420000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18993</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.5609999999999999</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.387</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21732</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1539999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19031</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.5499999999999998</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.308</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21616</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.014</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.1530000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18894</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.6739999999999999</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.401</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21847</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.014</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">8.1379999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18831</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.476</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.388</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21613</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.014</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">8.9280000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19750</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.5409999999999999</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.339</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21611</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.014999999999999999</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">8.0969999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18799</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.5659999999999998</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.428000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21712</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.012999999999999999</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">8.0500000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18774</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.6629999999999998</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.262</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21660</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.014</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">8.1150000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20793</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.677</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.371</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21843</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.014999999999999999</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.1099999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18915</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.484</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.31</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21495</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.014</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">8.0749999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18825</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.5569999999999999</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.369999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21629</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.014999999999999999</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">8.0999999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18800</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.6579999999999999</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.34</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21769</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.014999999999999999</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">8.0899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18917</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.5640000000000001</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.346</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21707</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.014</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.0869999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18779</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.5449999999999999</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.315</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21577</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.014</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">8.1050000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18877</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.5990000000000002</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.462</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21836</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.012999999999999999</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">8.1379999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18905</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.306</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.9800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67376</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.6970000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6339999999999999</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">67281</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.3999999999999999</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.9890000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42285</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.093</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1389999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40320</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.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">11.204000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23787</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.014</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">8.0790000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20650</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.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">11.255000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23394</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.014</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">8.1539999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20761</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.3530000000000002</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.265000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23113</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.014</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">8.2910000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20675</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.4470000000000001</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.186999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23229</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.089</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1020000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20575</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.4489999999999998</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.234</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21401</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.014</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">8.0890000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18988</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.4319999999999999</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.167</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23048</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.014999999999999999</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">8.016</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20508</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.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">11.361000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21730</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0739999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1020000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18872</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.3599999999999999</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.266</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21334</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.014</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">8.0579999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18852</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.5550000000000002</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.141</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23249</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.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.1140000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20700</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.5510000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.024</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23905</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.0049999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18856</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.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">11.76</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23903</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8239999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.9749999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18707</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.4510000000000001</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.614000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22803</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8799999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.9740000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17546</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.5459999999999998</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.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22074</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.014</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">6.9950000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17582</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.5270000000000001</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.896000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22127</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.722</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.9800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17287</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.528</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7430000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6760000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21783</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.2309999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17621</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.5379999999999998</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">21491</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6779999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.306</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17673</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.5369999999999999</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.193</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21590</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.017000000000000001</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">8.1699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21602</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.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">11.233000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23481</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.014</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">8.1899999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20777</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.7970000000000002</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.576000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23935</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.306</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2300000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21246</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.4620000000000002</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.157</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22361</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.014</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">8.1869999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19105</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.5859999999999999</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.173999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22472</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.014</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">8.1869999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19117</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.5609999999999999</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.472</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21828</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.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">8.2479999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19249</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.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">11.41</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21867</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2189999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1959999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19153</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">2.8860000000000001</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.499000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23930</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.012999999999999999</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">8.2810000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">22155</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.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">11.459</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24040</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.014</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">8.282</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21601</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.6280000000000001</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.364000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23698</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.014</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">8.1280000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20800</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.6509999999999998</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.215999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21683</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.014</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">9.0229999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20000</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.536</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.308</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21569</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2599999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1709999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19386</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">3.1709999999999998</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.077999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23244</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6930000000000001</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">20202</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">2.1459999999999999</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">4546</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6059999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5027</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.8300000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0409999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6362</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.694</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.281000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21691</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.274</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2159999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19357</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.5979999999999999</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.35</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21672</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.012999999999999999</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">8.1549999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19094</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.7090000000000001</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.388999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21961</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.014</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">8.1340000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19176</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.5569999999999999</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.351000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21650</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.014</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.1470000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19079</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">2.1139999999999999</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.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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.399</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4830</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">1.992</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">4565</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.3570000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4772</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.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">4427</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4760</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.0459999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6219999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.1479999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">19665</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.2759999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.798</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">3.629</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15889</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.01</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.073</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5.5650000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15289</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.2879999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.893</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.5609999999999999</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">16458</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.4700000000000002</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">5.8129999999999997</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">15968</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.1929999999999996</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">15905</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.4750000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0519999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20286</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.548</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5990000000000002</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">61885</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.3959999999999999</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.5530000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48740</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.496</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8580000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.535</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68618</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">3234.2700199999999</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">9.6370000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3281879</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.3780000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.089</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.398999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62223</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.1859999999999999</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">21.111000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55403</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.2090000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.669</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.478999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43066</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.2389999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.621</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47641</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.6110000000000002</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">685.83300799999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">732480</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.6779999999999999</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">10.388</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65798</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.8159999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0489999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.3959999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">11805</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.728</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3320000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5389</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.778</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2470000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5401</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.712</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3420000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5527</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.5779999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8079999999999998</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">41563</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">3.3879999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5249999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9978</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.6890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.5419999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.292000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41236</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.5129999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7829999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5920000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25116</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.4489999999999998</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">7.7729999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23039</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.5379999999999998</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">10.999000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32801</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">4.4669999999999996</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">15.558999999999999</Number>
    <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.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.5680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.008</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0739999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26283</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.2890000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9369999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0280000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23507</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.552</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.7940000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27438</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.6150000000000002</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">11.105</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26671</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.6499999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7130000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6620000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25778</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.3620000000000001</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">7.8789999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24187</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.4929999999999999</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.8409999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27145</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.657</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">11.061</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26836</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.633</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.766</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6620000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25507</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.548</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8029999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8239999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23174</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.4929999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7989999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7210000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27367</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.7229999999999999</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">9.2420000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28867</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.8820000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3199999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1669999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28802</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.8109999999999999</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">9.0079999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27791</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.6480000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9470000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0660000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27605</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.677</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">8.8010000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27596</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.6240000000000001</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">8.7710000000000008</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.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.6360000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7349999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9429999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27185</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.6459999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.786</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9719999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">380359</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.6899999999999999</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">8.859</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27588</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.5539999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9279999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7989999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27535</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.331</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.6329999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58261</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1030000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1300000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55972</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.6829999999999998</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.548999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64412</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.127</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">8.1170000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53714</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.431</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">9.0429999999999993</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.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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7080000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1400000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53489</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.5939999999999999</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.32</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63606</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.736</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">8.8480000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66381</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.613</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.493</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64217</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.127</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8940000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7699999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65078</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.7549999999999999</Number>
    <Number 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.1720000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65219</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8530000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4290000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64823</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.6850000000000001</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.077</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25608</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.014999999999999999</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">9.343</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.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.5369999999999999</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.606</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25952</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9729999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2230000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25468</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.746</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">9.1129999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24529</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.014999999999999999</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">8.1859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">23732</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.4990000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1459999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5429999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58241</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.014999999999999999</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">10.77</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57454</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.6059999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1339999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6999999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58378</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.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">10.938000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58089</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.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.718</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58482</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.016</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.090999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58048</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.629</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.964</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0069999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58826</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.014999999999999999</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.4529999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54465</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.7160000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.968</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2080000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59465</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.944</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6769999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54680</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.7530000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.008</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0359999999999996</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.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.016</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">8.7850000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55090</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.8940000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.917</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.6079999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57914</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.014999999999999999</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">8.5060000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54405</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.7330000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.821</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8049999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58177</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6799999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54541</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.996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.6289999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58452</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.014999999999999999</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.7910000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55120</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.7000000000000002</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.015000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69194</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.42</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67894</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.6469999999999998</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.196</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69518</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.014999999999999999</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">11.638999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69735</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.6819999999999999</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.148999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70279</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5049999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.749000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68722</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.8069999999999999</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.067</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63804</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0310000000000001</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">64339</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.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">14.73</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68832</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.014999999999999999</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">8.9860000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76188</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">2.9279999999999999</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.015000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72983</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.016</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">9.1880000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76236</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.8239999999999998</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">9.8330000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66609</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.014999999999999999</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">281.70700099999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">337681</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.762</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.085000000000000006</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8710000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67834</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.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">9.1790000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65196</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.8359999999999999</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.673</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66796</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.016</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">10.333</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66706</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.6200000000000001</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.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30220</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.016</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">11.032</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30626</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.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">12.654</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31482</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.016</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">11.749000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30530</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.6320000000000001</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.837</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30304</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.404999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30048</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.863</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.087999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28559</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.014999999999999999</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">8.6029999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26144</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.8250000000000002</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.234</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28696</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.673</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26242</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.8149999999999999</Number>
    <Number 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.148999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25710</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9220000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26761</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">2.8100000000000001</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">9.5459999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25071</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.016</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.4689999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24183</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.7519999999999998</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">9.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25209</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.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.6590000000000007</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.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.827</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">9.5800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25147</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.014999999999999999</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.875</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">24562</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.726</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.305</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42714</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.7470000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7869999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1120000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43974</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.653</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.926</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43921</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9540000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3379999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39721</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.8029999999999999</Number>
    <Number 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.2750000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41750</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.014999999999999999</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">8.3699999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39882</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.5939999999999999</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.201000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42268</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.9390000000000001</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.0760000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45113</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.8100000000000001</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.704000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44116</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.016</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">8.3580000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39871</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.7320000000000002</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.246</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43698</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.016</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.1739999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40347</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">238.20700099999999</Number>
    <Number 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.398999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">277934</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.927</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8940000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.6920000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43928</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.786</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.651999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43678</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.016</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">7.9669999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41841</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.6099999999999999</Number>
    <Number 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.1120000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42689</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.014999999999999999</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">8.0559999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41845</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.8450000000000002</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.603999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43728</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.8959999999999999</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.0510000000000002</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.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.956</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.789</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">161355</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.014999999999999999</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">8.9269999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41812</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.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">10.319000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43383</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.016</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.8000000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41661</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.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">10.646000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44008</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.845</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">10.108000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44163</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.952</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.715</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42681</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.014999999999999999</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.3569999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42848</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.9489999999999998</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.7929999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43196</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.016</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">8.7270000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40750</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.7589999999999999</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.632</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43911</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.861</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.7330000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42824</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.9649999999999999</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.795</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40919</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.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.3810000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40144</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.9289999999999998</Number>
    <Number 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.3360000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43626</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.014999999999999999</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">8.4830000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40518</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.75</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.308999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43934</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3679999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5630000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42164</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.7829999999999999</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.903</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40844</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2250000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4619999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40132</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.96</Number>
    <Number 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.2430000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39114</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.016</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">9.5220000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39791</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.8570000000000002</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.332000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44815</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.476</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">42214</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.9489999999999998</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.726000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40884</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.014999999999999999</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">8.4359999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40092</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.9319999999999999</Number>
    <Number 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.2370000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39138</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.014999999999999999</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.3810000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38396</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.875</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.340999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43138</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.014999999999999999</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.124000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42829</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.8679999999999999</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.811999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41022</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.093</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39803</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.8420000000000001</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">9.2319999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39082</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.016</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.1059999999999999</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.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.0590000000000002</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">4477</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0150000000000001</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.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">2.1419999999999999</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">4381</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0259999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4249</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">2.1299999999999999</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">4352</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.11700000000000001</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">4326</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.0779999999999998</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">4310</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.012999999999999999</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">4267</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.0459999999999998</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">4431</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.014</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">4253</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">2.1379999999999999</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">4361</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.964</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.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.948</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">4319</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.012</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">4171</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.0590000000000002</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">4407</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9379999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4245</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.1000000000000001</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">4311</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0230000000000001</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.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">2.0619999999999998</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">4411</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.012999999999999999</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">4233</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.9570000000000001</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">4419</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.11600000000000001</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">4212</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.1579999999999999</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">4379</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.012999999999999999</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">4348</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.121</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">4350</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.014</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">4239</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.9510000000000001</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">4313</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.968</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.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">2.036</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">4351</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9119999999999999</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.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.1080000000000001</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">4326</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.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">4213</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.0600000000000001</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">4390</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9470000000000001</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.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">2.0409999999999999</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">4355</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.012</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">4219</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">2.1400000000000001</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">4383</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0390000000000001</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.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.0899999999999999</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">4421</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8660000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4245</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">1.98</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">4429</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9350000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4250</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">2.2400000000000002</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">4466</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9530000000000001</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.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">2.1539999999999999</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">4430</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.11600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8680000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4273</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.0750000000000002</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">4361</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.012</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">4265</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.1200000000000001</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">4340</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.014</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">4286</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">2.1299999999999999</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">4351</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.014</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">4273</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">1.9530000000000001</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">4325</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.012999999999999999</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">4207</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.7410000000000001</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.710000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44776</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.415</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">41301</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.6680000000000001</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.143000000000001</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.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.014999999999999999</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">10.872</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43842</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.7559999999999998</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.836</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44404</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.016</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">10.718999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43224</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.8700000000000001</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.032999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44827</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.016</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">8.5850000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40621</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.8759999999999999</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.210000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44679</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.145</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4459999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40360</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.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">10.106</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.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">2.9649999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2379999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40213</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.7799999999999998</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.69</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44452</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.11</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.952</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5399999999999991</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.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.9249999999999998</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">9.7680000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43450</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.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">8.4600000000000009</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.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.883</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42845</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.016</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.3399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44508</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.8969999999999998</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.07</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42108</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.014999999999999999</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">11.682</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45023</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.7810000000000001</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.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46795</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7080000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.407</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44697</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.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">12.193</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46022</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5049999999999999</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">44184</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">3.024</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.066000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40144</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.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">8.9120000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43655</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.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">10.222</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40512</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.014999999999999999</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">8.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41110</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.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">10.132</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40053</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.016</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">8.6069999999999993</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.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">3.0089999999999999</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">9.6890000000000001</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.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.016</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">11.941000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44940</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.8159999999999998</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.8900000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44237</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.014999999999999999</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">8.8420000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41380</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.8740000000000001</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.7409999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43507</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.014999999999999999</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">8.7230000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41047</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.79</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.009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43315</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.016</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">11.677</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45308</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.774</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.148999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45387</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.444</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">43696</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.6320000000000001</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.970000000000001</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.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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5310000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.875</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45075</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">3.0529999999999999</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.548999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42315</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.014999999999999999</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">8.9900000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40857</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.887</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.33</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40219</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.014999999999999999</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">8.5030000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40430</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.8889999999999998</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.199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39989</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.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.3670000000000009</Number>
    <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.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.8029999999999999</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.6530000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39352</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.014999999999999999</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">8.5340000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38470</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.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">9.7680000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39530</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.014999999999999999</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">8.3900000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38361</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.8610000000000002</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">9.6500000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39435</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.014999999999999999</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">8.2829999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38241</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.528</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.837</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44187</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3570000000000002</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">41460</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.6659999999999999</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.819000000000001</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.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.016</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">10.954000000000001</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.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.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">10.108000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44151</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.016</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">8.6859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40577</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.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">10.173</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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0219999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.925000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42198</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">263.30599999999998</Number>
    <Number 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.002000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">303595</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.016</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">8.6600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40202</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.782</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">9.6489999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42479</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9009999999999998</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">40030</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.7970000000000002</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.352</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">265256</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.702</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44832</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.6040000000000001</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.222</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45829</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.597</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.536</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44359</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.79</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.183999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40012</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.058999999999999997</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">9.0990000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41233</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.8980000000000001</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.090999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40069</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.016</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">8.8970000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40635</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.7709999999999999</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.7949999999999999</Number>
    <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.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.016</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">9.1430000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41433</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.8319999999999999</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">9.7799999999999994</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.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.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">10.082000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42047</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.6389999999999998</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.986000000000001</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.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.014999999999999999</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">11.249000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44123</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.7810000000000001</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.972</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44940</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.536</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">43802</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">2.827</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.333</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40218</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.014999999999999999</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.798</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40582</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.7250000000000001</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.316000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40063</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.014999999999999999</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">8.7010000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40318</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.7999999999999998</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.7070000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39455</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.016</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.7089999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38638</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.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">9.7620000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39259</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.016</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">8.5640000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38380</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.6640000000000001</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.688000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44086</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.014999999999999999</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.869</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41077</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.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">10.007999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43442</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.016</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.6430000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41040</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.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">9.5280000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42256</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.016</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.6500000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40179</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.5779999999999998</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.146000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41587</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4889999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.472</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44426</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">2.9329999999999998</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.082000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39959</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.016</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.8849999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40616</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.7229999999999999</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.521000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43854</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.014999999999999999</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">8.9969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40970</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.6560000000000001</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.858000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41567</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4500000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.173</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43767</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.7320000000000002</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.18</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40010</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.014999999999999999</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.6720000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40266</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.8079999999999998</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">9.6120000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39167</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.016</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">8.6020000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38524</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.9129999999999998</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">19.710999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72188</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3789999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.212</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70662</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.5990000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7759999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.797999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73835</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.048</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.390000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65336</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.569</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4870000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65577</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.507</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62216</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.843</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.011998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82616</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4640000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.891000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79641</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.79</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.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84550</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1959999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.158000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76334</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.8799999999999999</Number>
    <Number 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.603000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76230</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0510000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.486000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72971</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.9119999999999999</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.558001000000001</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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5010000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.542998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40403</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.9020000000000001</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.802</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45556</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2249999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.679</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37182</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.8039999999999998</Number>
    <Number 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.587</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37503</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8180000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.821</Number>
    <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.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.8069999999999999</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.968</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44355</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.883</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9489999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.228999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47376</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.7109999999999999</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">26.361000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46490</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0289999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.914000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38103</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.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">18.905999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37908</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7650000000000001</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">34770</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.6549999999999998</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.813998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46041</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.7769999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9260000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.847000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55380</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.6629999999999998</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.886998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45937</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.008</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.885000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45228</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.7450000000000001</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">18.805</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37700</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7440000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.254999000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46763</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.6110000000000002</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.726998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63560</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.6850000000000001</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">18.978999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65163</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.7090000000000001</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.486999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74274</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.016</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.690000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60434</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.6859999999999999</Number>
    <Number 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.542000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56370</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.73</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.073999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51730</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.5790000000000002</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.762</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45579</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.78</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">12.269</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49322</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.7570000000000001</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.965999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46185</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.012</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">11.368</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_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.7559999999999998</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.754</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.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.014</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.278</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43417</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.8490000000000002</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.166</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47068</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">1.956</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">12.718</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47592</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.0139999999999998</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.189</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45995</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.017000000000000001</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.629</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44886</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">3.1040000000000001</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.670999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40919</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.016</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">11.406000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42836</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">257.30300899999997</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.044</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">315906</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.1200000000000001</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">14.42</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">381439</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.9430000000000001</Number>
    <Number 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.045</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64839</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.017000000000000001</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">15.034000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63462</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.9199999999999999</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.847</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60290</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.016</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">14.318</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62283</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.2490000000000001</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.773</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75294</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.1360000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7120000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.783000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76925</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.3170000000000002</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.026999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66326</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5270000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.574</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72563</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.3109999999999999</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.284000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72739</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.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">15.821999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73532</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.2360000000000002</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.628</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35995</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9740000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.075001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36935</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.4180000000000001</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.507</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34608</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.019</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5990000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.659000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33538</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.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">12.944000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29174</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5129999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.396000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30793</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.1120000000000001</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.827999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73553</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.1509999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.585</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.579000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78721</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.1339999999999999</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.157</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72764</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5720000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.789</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73558</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.3650000000000002</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.956</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70765</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.014</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">14.679</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71990</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.8820000000000001</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.353999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47537</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.855</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">13.112</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47963</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.8849999999999998</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.946999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40870</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.017000000000000001</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">11.702999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45248</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.9950000000000001</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.775</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47823</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1280000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.827</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44788</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.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">13</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46436</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6579999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.06</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47476</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.911</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.082000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46554</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0099999999999998</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">43986</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">2.8050000000000002</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.766999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40653</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.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">11.311999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41388</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.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">13.019</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61042</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.7849999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.129</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.855</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65857</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">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.106</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60412</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.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">11.43</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.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">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">10.794</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59855</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.017000000000000001</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.42</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58019</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.532</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.84</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59687</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.881</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">12.31</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60917</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.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">10.923999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61583</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.012999999999999999</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">11.43</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57582</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.746</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.686999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54645</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.012999999999999999</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">11.391999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55630</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.0569999999999999</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.166</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74809</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">1.919</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6850000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.384</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78100</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.153</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.640000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80152</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6309999999999998</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">84493</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">4.109</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.702</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76187</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.039</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.1289999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.117000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">88926</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.036</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.026</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.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">3.294</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.4610000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.007000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74789</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">3.1629999999999998</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.062000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73662</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.035999999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.0910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.476000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66960</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.2469999999999999</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.446</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">123738</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.012999999999999999</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">13.500999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61548</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.7909999999999999</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.361000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60805</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">2.0049999999999999</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">13.02</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62793</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">3.0569999999999999</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.551</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61064</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.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">12.346</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59248</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.8679999999999999</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.362</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60453</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.014999999999999999</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">12.382999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62238</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.169</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.615</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73554</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.968</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.585</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.847</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74780</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.351</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.688000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66189</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.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">13.721</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70444</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.262</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.670999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70505</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.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">13.826000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72212</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.133</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.944000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33536</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.871</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">424.44000199999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">443825</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.375</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.807</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32172</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.122</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">12.901</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31255</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.0840000000000001</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.286</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">127461</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.734</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.712999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29558</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">3.0649999999999999</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.175000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72448</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.1030000000000002</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">13.996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76471</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.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">11.599</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71710</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.129</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">13.157999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70725</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.2959999999999998</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.547000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70029</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.017000000000000001</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">13.034000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70213</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.8410000000000002</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.166</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46490</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.0499999999999998</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">12.237</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49874</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.9089999999999998</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.172000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46264</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1019999999999999</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">43887</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.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">10.868</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44664</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9529999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.089</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43451</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.9060000000000001</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.212999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61065</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">2.0190000000000001</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">12.207000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61698</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.988</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.135999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60623</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.017000000000000001</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">11.194000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58347</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.9750000000000001</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.833</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55114</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0710000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55641</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">3.0350000000000001</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.629</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72064</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.972</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2850000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73266</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.0219999999999998</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.332000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66635</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.476</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.691000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68676</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.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.929</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68728</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.017000000000000001</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">11.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68653</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.9689999999999999</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.691000000000001</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_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.8899999999999999</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">13.006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50956</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.0920000000000001</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.118</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46141</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.017000000000000001</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.481999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44461</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">3.2269999999999999</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.964</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46757</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.445</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44562</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.7330000000000001</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.779999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59724</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">2.0230000000000001</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">11.644</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61216</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.843</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.785</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59441</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.017999999999999999</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">10.747</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56975</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.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.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58258</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.017000000000000001</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">10.813000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57076</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.8650000000000002</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.413</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">73078</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.9399999999999999</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">13.135</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71950</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">3.0619999999999998</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.867000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64864</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.014999999999999999</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.414999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67462</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">3.1560000000000001</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.789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68546</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3010000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.557</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67955</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.9279999999999999</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.071</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32302</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7360000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.614000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32909</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.1909999999999998</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.99</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30677</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.29</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.833</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28962</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">3.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">10.568</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26324</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1190000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.843</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29188</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">4.819</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.422999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78178</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">2.0600000000000001</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">14.792</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">87922</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.9849999999999999</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.907</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76342</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.031</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.2629999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.339</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71872</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">3.008</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.367999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84072</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.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">11.186999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81991</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">3.782</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">13.576000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61944</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.8899999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.940999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">368745</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.988</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.867000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69689</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.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">14.849</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74494</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">4.3899999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.833</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68278</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.097000000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.0170000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.874000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60384</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.8660000000000001</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.114000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">86006</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.016</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">14.097</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80332</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.573</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.374001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71223</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.128</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3010000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.948</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82143</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">3.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.647</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77397</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.037999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.5490000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.159000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75174</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.9159999999999999</Number>
    <Number 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.510000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50605</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.125</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">168.50900300000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.294</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">212829</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">2.9580000000000002</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.84</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51914</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1230000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.307</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48788</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.9550000000000001</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">19.528998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67164</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.056</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.599001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66879</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.4129999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.024000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80809</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.7560000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.106000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79039</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.4449999999999998</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.375</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40912</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.128</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">10.416</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.393999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45882</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.427</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.052</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83789</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4560000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78167</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">3.0470000000000002</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.736000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52467</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0289999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.68</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49227</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.9279999999999999</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.679001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51478</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0220000000000002</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">48426</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">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">18.875999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67550</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.898</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64060</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.827</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">18.399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66107</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.948</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.550000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62730</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.4359999999999999</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.16</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80126</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4630000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.927</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77363</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.1539999999999999</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">19.153998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68639</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2439999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.344999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66136</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.8940000000000001</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.917998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59650</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">2.036</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7429999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.358999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59404</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.3079999999999998</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.712999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66072</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.1280000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.298</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.25</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58914</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.8679999999999999</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.087</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">94575</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.258</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.8140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.024999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">97069</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.8340000000000001</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.417998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">93253</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.4510000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.6109999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.077998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">93120</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.7210000000000001</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.301000999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">91587</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.1219999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4969999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.118998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">91161</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.6259999999999999</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.172999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">85653</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.1899999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.444</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.504000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81088</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">3.0049999999999999</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.827000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58157</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.3380000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0590000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.132999000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60203</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.5950000000000002</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.608999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67830</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.1789999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.6529999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.628</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60526</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.5449999999999999</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.724001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65326</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.2350000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.757999000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57074</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.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">27.816998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84187</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.6819999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.9960000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.105</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">91577</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.6030000000000002</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.548</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34506</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.452</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.358000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34352</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.7850000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.167999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42649</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.77</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.436</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39058</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.899</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.568999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37262</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7069999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.565</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36062</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.9060000000000001</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.388999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37161</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7770000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.496</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36096</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">3.04</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.613001000000001</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.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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8300000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.641999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40861</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.6400000000000001</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.598000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31763</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.014999999999999999</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">11.512</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32366</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.8119999999999998</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.666</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35986</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.452</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">35900</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.8239999999999998</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">33060</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3919999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.557</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33580</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.883</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.696999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33392</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.601000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33760</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">3.1899999999999999</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">6.6980000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20204</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">3.1709999999999998</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">14.356</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25362</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.2719999999999998</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">14.222</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">25315</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.622</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">3008</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.012</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">2608</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.59999999999999998</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">2699</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53300000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2666</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.7809999999999999</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">3999</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7529999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3991</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.9239999999999999</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">4132</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.716</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4017</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.903</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">4090</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.11600000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7130000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3989</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.833</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">4212</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7010000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4106</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.8169999999999999</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">4069</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.6439999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3958</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.7470000000000001</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">4085</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.726</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3948</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.847</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">4168</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.14599999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.708</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.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">2.028</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">4282</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.012</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">4109</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.7509999999999999</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">4040</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.3149999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.335</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5990</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.8640000000000001</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">4195</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.7509999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3975</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.8520000000000001</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">6051</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.218</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2490000000000001</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.2559999999999998</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.8059999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39287</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.016</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">9.1159999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44505</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.8199999999999998</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.646999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50774</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.014999999999999999</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.654</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46639</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">4.5549999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.025999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.812000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51278</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.014999999999999999</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">12.65</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44765</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.464</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.586</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47446</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.035999999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.5640000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.587</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49522</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.391</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.699999999999999</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.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.014999999999999999</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">10.813000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43405</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.3319999999999999</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.576000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43992</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.029</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_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.5569999999999999</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.59</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44105</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.073</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43605</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.5779999999999998</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.9779999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39443</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.014999999999999999</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">9.2080000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39329</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.4470000000000001</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.632999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41022</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3079999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.462</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">589894</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.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">11.452</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40918</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1619999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.621</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40627</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.3919999999999999</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.632</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47095</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1619999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.662000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40942</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.452</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.786</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41308</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1240000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.805999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41430</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.2999999999999998</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.609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41071</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.014999999999999999</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.063000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41494</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.4129999999999998</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.609</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41136</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.014999999999999999</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">11.007999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41392</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.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">9.9429999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39552</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.014999999999999999</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">9.1839999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39264</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.5550000000000002</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.619</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41243</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1190000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.747999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40927</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.4649999999999999</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.412000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40827</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.127</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.685</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41045</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.5259999999999998</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.460000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43988</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.014999999999999999</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">10.712999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41200</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.472</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.746</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41264</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.014999999999999999</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">10.808</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41219</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.4380000000000002</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.593999999999999</Number>
    <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.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.014999999999999999</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.034000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41273</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.411</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.641</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41169</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2730000000000001</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">45012</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.8719999999999999</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.43</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41733</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0219999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2029999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39482</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.5659999999999998</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.9900000000000002</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.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.125</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.2669999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41067</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.4049999999999998</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.528</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43798</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2250000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.648</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42893</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.3879999999999999</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.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43803</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.014999999999999999</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.664</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43051</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.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">11.702</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41216</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.014999999999999999</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">10.801</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41352</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.48</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.835000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44308</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.014999999999999999</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">10.926</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43291</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.2850000000000001</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.726000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44131</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.014999999999999999</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.744999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43133</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.407</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.726000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45284</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.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">11.887</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44401</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.488</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.817</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44287</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.014999999999999999</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">10.863</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43361</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.4830000000000001</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.718</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45262</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.014999999999999999</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">10.843999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43434</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.3940000000000001</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.727</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_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.016</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">10.752000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43475</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.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.563000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44140</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.014999999999999999</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.074</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43595</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.4700000000000002</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.496</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43952</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.014999999999999999</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">10.994999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43638</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.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">9.9830000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39469</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.016</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">9.2639999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39464</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.4820000000000002</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.9960000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39407</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2120000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.234</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39453</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.4079999999999999</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.611000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41164</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.266</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.685</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41081</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.4159999999999999</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.550000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40841</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.016</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">10.763</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41167</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.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">11.656000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41212</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.014999999999999999</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.821</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41192</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.4449999999999998</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.746</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41294</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.016</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">10.906000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41158</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.407</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.722</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41329</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.016</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.851000000000001</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_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.5259999999999998</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.821</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41429</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.128</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">10.885</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41244</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.5089999999999999</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.826000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41476</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.016</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">10.92</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41341</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.48</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.789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41379</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.016</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">10.949</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41399</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.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">11.781000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41538</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2269999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.734999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41063</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.46</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.619999999999999</Number>
    <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.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.014999999999999999</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">11.057</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43578</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.4510000000000001</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.589</Number>
    <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.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.014999999999999999</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">11.000999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41456</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.512</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.9309999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39410</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.101</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1910000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39207</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.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">9.9670000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43821</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.014999999999999999</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">10.551</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40286</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.3860000000000001</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.555</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40867</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.014999999999999999</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">10.693</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40645</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.4769999999999999</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.544</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40807</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.014999999999999999</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">10.683</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40716</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.3719999999999999</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.503</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41779</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.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">10.736000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40977</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.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">11.771000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41119</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.177</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.916</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41005</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.3679999999999999</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.746</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41091</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1190000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.933999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40935</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.4039999999999999</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.702999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41434</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.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">10.885999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40973</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.3250000000000002</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.712</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41122</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.202</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.851000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41361</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.3959999999999999</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.814</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41114</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.014999999999999999</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">10.933999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41290</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.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">11.813000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41208</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.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">10.893000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40994</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.3540000000000001</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.781000000000001</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_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.014999999999999999</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">11.087</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41216</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.3279999999999998</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.785</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41283</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.017000000000000001</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.071999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41274</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.3370000000000002</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.9710000000000001</Number>
    <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.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.014999999999999999</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.1129999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39238</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.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">9.9220000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41774</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.014999999999999999</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.9149999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41132</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.4100000000000001</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.67</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43887</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.016</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">10.331</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42267</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.3330000000000002</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.586</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43577</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4000.586914</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">4040313</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.3559999999999999</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.673999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43513</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.014999999999999999</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.452</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42617</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.2909999999999999</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.756</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43527</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1760000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.516999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42443</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.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">11.731999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43804</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.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">46.887000999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80605</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.3740000000000001</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.561999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45482</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.4829999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.220000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50859</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">3.1629999999999998</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.510999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47649</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3330000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.593999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49495</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">3.7549999999999999</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.848000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55515</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0960000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.666</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42992</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">4.4859999999999998</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.249000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61524</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.016</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.590999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43013</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.5880000000000001</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.298</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55648</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.014999999999999999</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">15.763</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52819</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">3.7879999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.025999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.948</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60325</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.014999999999999999</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.654999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43206</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.6179999999999999</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.582000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55543</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.4550000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.880000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51972</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.6110000000000002</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.906000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46840</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.29</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.731999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59559</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.5609999999999999</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.597</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44066</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.016</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">13.098000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54466</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.532</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.097</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39538</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.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.3149999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45138</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">3.004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.027</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">40776</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2280000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8889999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">583684</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.722</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.361000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71698</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.014999999999999999</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">10.417</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40988</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.4159999999999999</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.631</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53632</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4909999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.987</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46621</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.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">11.862</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44820</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3550000000000004</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">45744</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">3.9809999999999999</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.936001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51505</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.127</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">10.627000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40983</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.8940000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.025999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.76</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54534</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.393000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45391</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.5920000000000001</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.585000000000001</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_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.016</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">18.954000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54427</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.5110000000000001</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">397.34600799999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">427022</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2959999999999998</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">49523</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">4.0570000000000004</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.763999999999999</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.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.014999999999999999</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.721</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49809</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">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">18.103999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50890</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.7699999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">142.645004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">175641</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.468</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.666</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41219</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.85</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41530</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.4100000000000001</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.629</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41204</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1960000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.66</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41200</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.4279999999999999</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.744999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41336</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2949999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.747</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41113</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.4940000000000002</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.743</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41592</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2679999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.747999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41212</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.4769999999999999</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.682</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41535</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.016</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.864000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41311</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.4729999999999999</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.018000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39471</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.016</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.1010000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39349</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.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">10.099</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39592</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.016</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.907</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39160</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.4020000000000001</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.693</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41111</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2869999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.406000000000001</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_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.4239999999999999</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.773</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41560</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.014999999999999999</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">10.444000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40727</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.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">11.753</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41612</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.016</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">10.695</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41108</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.5089999999999999</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.717000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41554</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.014999999999999999</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">10.651</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41135</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.5</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.776</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41506</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.016</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">10.754</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_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.476</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.569000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41122</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.014999999999999999</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">10.859</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41506</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.4689999999999999</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.670999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41243</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.014999999999999999</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">10.773999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41097</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.4449999999999998</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.744</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41467</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3010000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.837999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41153</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.3889999999999998</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.738</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41445</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2810000000000001</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">41190</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.4710000000000001</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.638999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41279</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2290000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.879</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41374</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.4980000000000002</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.688000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41237</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.016</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">10.849</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41398</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.5059999999999998</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.609</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41252</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.014999999999999999</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">10.731</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41351</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.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">11.835000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41441</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.016</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">10.742000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41100</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.4329999999999998</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.832000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41558</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.014999999999999999</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.699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41134</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.75</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.641999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40776</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.014999999999999999</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.7110000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38782</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.6850000000000001</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.102</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43478</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.014999999999999999</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.8499999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41122</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.7330000000000001</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">9.8840000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39792</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.017000000000000001</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.7140000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38963</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.71</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.199</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44094</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.016</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">8.8490000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41119</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.637</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.147</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43899</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">3.0129999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0359999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41207</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.6930000000000001</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.055999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43922</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.014999999999999999</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">9.1739999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41626</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.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.028</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43517</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.016</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">9.0329999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41430</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.7149999999999999</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.75</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40677</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.016</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.5459999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38333</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.6960000000000002</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">9.9930000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40110</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.014999999999999999</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">8.9960000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1192277</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.6699999999999999</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">9.9019999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39416</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">210.533005</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1989999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">246758</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.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">154.65699799999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">189752</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.014999999999999999</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">8.7010000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38364</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.9039999999999999</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.927</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46771</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.125</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">10.101000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44098</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">4.3109999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.579000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46752</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.123</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9129999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6969999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54094</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.645</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.952</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40030</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.126</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0060000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45685</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">4.3609999999999998</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">15.577</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50524</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.128</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.5069999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40070</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.6419999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.041000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.053000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51870</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7639999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.977</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43507</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.8690000000000002</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.9169999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42290</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.794</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.538</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49775</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">3.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.331</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46734</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.014999999999999999</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">8.7949999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42208</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">4.8109999999999999</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.749000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56958</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8149999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9000000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39737</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.8079999999999998</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.9499999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47902</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7749999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">126.683998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">167172</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">5.0309999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.059999999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.573</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44009</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.016</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.0999999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45738</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.665</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.609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50454</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.152</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">8.625</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38800</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.7400000000000002</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.573</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53728</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.094</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2409999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.534000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47835</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.859</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">348.06900000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">383619</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.122</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">8.782</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46200</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">4.2830000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.027</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">53890</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.124</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9540000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8140000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42547</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">4.524</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.346001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53249</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.152</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">8.8979999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38980</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.754</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.475</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59338</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.124</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.9369999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41051</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.6869999999999998</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.016999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58001</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.126</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">8.8450000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40875</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.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">11.868</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55935</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.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.923</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42068</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.6680000000000001</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.9719999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57495</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.694</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">41648</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.6589999999999998</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.031000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52460</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.431</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.468999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45121</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.7759999999999998</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.029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49403</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.177</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.587999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50175</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.6840000000000002</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.288</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46905</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.031</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0970000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.929</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51525</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.665</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">9.9290000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46039</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.023</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.6150000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.638</Number>
    <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.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.7549999999999999</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.111999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52147</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.128</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.5470000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38229</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.8450000000000002</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.890000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50487</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.3140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9359999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42822</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.867</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.8759999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46019</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.016</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.914</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46927</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.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">9.9800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43204</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5640000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.714</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50936</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.8580000000000001</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.132</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40096</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1909999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.226000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53227</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.7989999999999999</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.098000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40045</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.014999999999999999</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.6820000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51987</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">4.9640000000000004</Number>
    <Number 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.68</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43416</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.014999999999999999</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">8.9160000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48402</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">4.3689999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.029999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.359</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3217880</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.031</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2910000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9779999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43484</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.681</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.151</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40150</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.014999999999999999</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">8.9890000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48858</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">4.2960000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.029999999999999999</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">45976</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9700000000000002</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">41463</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">4.0519999999999996</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.803000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52299</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.016</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.9350000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39175</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.6909999999999998</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.9239999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45764</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.023</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.431</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">49371</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.738</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">428.72198500000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">458816</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0099999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9879999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46003</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">3.8450000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.025999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.597000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48043</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.899</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4990000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42147</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">4.4059999999999997</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.111000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55121</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.014999999999999999</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">8.4969999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38633</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">3.7839999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.384</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55930</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.016</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">8.7959999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38896</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.6480000000000001</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.8870000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49081</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.9340000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.52</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45522</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.6899999999999999</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.683</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42471</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.014999999999999999</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">8.891</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45825</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.8860000000000001</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49771</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.014999999999999999</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.8719999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38984</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.7999999999999998</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.061001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56147</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9220000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9710000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38895</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.786</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.186999999999999</Number>
    <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.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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1849999999999996</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">42795</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.7519999999999998</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.058999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45351</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4740000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.217000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48589</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.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">10.214</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_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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.1890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.94</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53258</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">4.2350000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.015000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53662</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3452.2709960000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.048999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3500999</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.7029999999999998</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.9209999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40747</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.9640000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.859999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52910</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.7389999999999999</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">9.9269999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39867</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.836</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51894</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.7490000000000001</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.630000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41161</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.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">8.3989999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47104</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">4.6719999999999997</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.018000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49430</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.124</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.2409999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47159</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">4.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">15.547000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51443</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.123</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.484</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46763</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">3.984</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.035999999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.368998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53467</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.16900000000000001</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">8.4689999999999994</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_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">4.1920000000000002</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">17.395</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54702</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.014999999999999999</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">8.6690000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45189</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">3.278</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.757999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54009</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.014999999999999999</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">8.7449999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43330</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">4.8319999999999999</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.619999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57361</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.016</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">8.7599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40951</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">4.5430000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.093</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53837</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.008</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6639999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38635</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.8570000000000002</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">9.9559999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46778</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6800000000000002</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">53217</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">4.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.781000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46618</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.014999999999999999</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">8.7799999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51014</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">4.1929999999999996</Number>
    <Number 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.518000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51380</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.016</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.6739999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48478</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">3.5979999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.029000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.942</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52931</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9670000000000001</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">41146</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">4.0419999999999998</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.970000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61342</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1086.7509769999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3770000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1125488</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.6749999999999998</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.9870000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43874</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9649999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7300000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47233</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">4.4429999999999996</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</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">46576</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.014999999999999999</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">8.6880000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48302</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">4.6870000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.027</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.518999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54861</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.125</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.8499999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45619</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">4.476</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">17.405999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52158</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.125</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.2810000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38275</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.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">18.047999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57960</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.128</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">8.2330000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38205</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.7559999999999998</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">156.36199999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">187509</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.014999999999999999</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.4670000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40852</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.714</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.027</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.971001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54020</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.014999999999999999</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">8.4359999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38583</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.9159999999999999</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.852</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54238</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.032000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.141</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.708</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42151</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.9569999999999999</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.077999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45452</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.9619999999999997</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">50032</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.9089999999999998</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.147</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40998</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.036999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.8600000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.877000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56314</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.8940000000000001</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.015000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53367</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.298</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.836</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42186</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.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">10.055999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43855</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.856</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52645</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.7679999999999998</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.026999999999999</Number>
    <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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9700000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7249999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48989</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">4.0110000000000001</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.720000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48701</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.014999999999999999</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">8.8049999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38584</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">4.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">15.657</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55427</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.014999999999999999</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.9100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39115</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.5939999999999999</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.9800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40089</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.014999999999999999</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">8.8989999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39321</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.6299999999999999</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">9.9009999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39995</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.016</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">8.7439999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38969</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.5750000000000002</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.09</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40233</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.014999999999999999</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.8780000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39197</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.5870000000000002</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.032999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40107</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.017000000000000001</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">8.9299999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39550</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.7000000000000002</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.685</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40714</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.008</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2449999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38665</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.6669999999999998</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.595000000000001</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_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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0289999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2390000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38491</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.6339999999999999</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.9290000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40153</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.014999999999999999</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">8.4920000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38560</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">2.5750000000000002</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">9.8900000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39842</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.014999999999999999</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.5510000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38715</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.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">10.153</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40340</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.016</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">8.6780000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38590</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.6179999999999999</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.117000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40023</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.016</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.7970000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39143</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.5910000000000002</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.047000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39874</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.014999999999999999</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.7140000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38781</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.645</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.9329999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39903</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.016</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.6679999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38887</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.6760000000000002</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.8889999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39929</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.016</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.8070000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39063</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.657</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.012</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40023</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.014999999999999999</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.8170000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38994</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.7570000000000001</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">9.9830000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40092</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.016</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.7850000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39073</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.7469999999999999</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">9.9429999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40097</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.008</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">39188</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.6389999999999998</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.9350000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40005</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.016</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">8.7050000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39018</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.677</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">9.9109999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39986</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.014999999999999999</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">8.8520000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38867</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.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">10.005000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40075</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.016</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">8.8140000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39528</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.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">9.9399999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40145</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8860000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7690000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39032</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.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">9.1039999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41397</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.016</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">8.2330000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38086</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.7570000000000001</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">9.6370000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42543</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.014999999999999999</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">8.5630000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40424</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.7639999999999998</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.4510000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39363</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8490000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4120000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38470</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.7629999999999999</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">9.9440000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44654</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.014999999999999999</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">8.5250000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41162</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.665</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.6780000000000008</Number>
    <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.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.014999999999999999</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">8.5939999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42175</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.8580000000000001</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.4920000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42633</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.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">8.8550000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40951</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.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">9.4800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42399</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.014999999999999999</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.7669999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40871</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.746</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">41333</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.016</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.2650000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38070</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.6619999999999999</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.4380000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39278</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4570000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">899715</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.7599999999999998</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">9.452</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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.895</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3759999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38275</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.7389999999999999</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">9.5589999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39377</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.014999999999999999</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">8.4990000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38749</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.5880000000000001</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.6980000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39647</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.125</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8769999999999998</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">38689</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.6400000000000001</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.5169999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39346</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.014</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.7289999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38745</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.8370000000000002</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.5570000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39602</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.017000000000000001</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">8.7149999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38606</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.6040000000000001</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">9.1110000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38777</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7690000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2430000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38306</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.6419999999999999</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.4269999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39280</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.050000000000000003</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">8.4169999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38403</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.8679999999999999</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.4320000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39282</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.014999999999999999</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.4800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38613</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.827</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">9.6059999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39303</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.109</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7570000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4809999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38296</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.8730000000000002</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">9.7390000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39732</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.014999999999999999</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">9.4450000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39387</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.8889999999999998</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">9.5220000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39684</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.016</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">8.7569999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38701</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.8879999999999999</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.5510000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39453</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.044999999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7249999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38923</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.7669999999999999</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">9.173</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38975</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.014999999999999999</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">8.2539999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38129</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.9199999999999999</Number>
    <Number 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.1479999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41794</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.014999999999999999</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">8.2100000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39543</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.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">9.5069999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42757</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.016</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.5139999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40245</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.6509999999999998</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.4930000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42236</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.758</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">40138</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.6909999999999998</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.641</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39628</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7759999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6370000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38639</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.5819999999999999</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.6829999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43032</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6460000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40834</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.5859999999999999</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42590</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.014999999999999999</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.6280000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40606</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.7000000000000002</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">9.7409999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42694</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.016</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.6240000000000006</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_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.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">9.7620000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42928</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.014999999999999999</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.6389999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40703</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.7410000000000001</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.6850000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43844</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.016</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">8.6739999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40933</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.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">9.6180000000000003</Number>
    <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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8570000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.641</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41055</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.718</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">9.6920000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43036</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9649999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8230000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41529</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.6549999999999998</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.7349999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42693</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.766</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6880000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41076</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.7930000000000001</Number>
    <Number 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.2119999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39104</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.016</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">8.234</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38114</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.5750000000000002</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">9.2230000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38947</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8290000000000002</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">38163</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.6659999999999999</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">9.5169999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39305</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8730000000000002</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">38586</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.7149999999999999</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">9.5800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39497</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7730000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5060000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38384</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.6600000000000001</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.6679999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39618</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.016</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.6010000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38688</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.6629999999999998</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">9.6699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39624</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.014999999999999999</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">8.6300000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38653</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.677</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.6679999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39631</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.016</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">8.6039999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38583</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.6110000000000002</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.7680000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39665</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.014999999999999999</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.7029999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38828</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.5979999999999999</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.6379999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39545</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7610000000000001</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">38671</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.774</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.6340000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39698</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8300000000000001</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">41524</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.6459999999999999</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.7300000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39686</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.016</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.5850000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38806</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.5800000000000001</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.5459999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39471</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.77</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8089999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38855</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.5830000000000002</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.5350000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39444</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.014999999999999999</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.7870000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38719</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.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">9.1660000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38813</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2289999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38232</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.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">9.2260000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38940</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7850000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.1989999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37987</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.8319999999999999</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.5099999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39575</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.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.4540000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38420</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.782</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">9.5079999999999991</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39468</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.016</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">8.4779999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38439</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.6850000000000001</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">9.6479999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39660</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.016</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.6440000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38624</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.6539999999999999</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.6530000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39538</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.016</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.5890000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38623</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.7509999999999999</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">9.6829999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39632</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.016</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">8.5389999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38558</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.6469999999999998</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.6579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39585</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6229999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38630</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.5750000000000002</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.7639999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39579</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7919999999999998</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">38763</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.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">9.718</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39496</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.016</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.6219999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38779</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.6890000000000001</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.5920000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39467</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.016</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.6059999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38859</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.6899999999999999</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.5129999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39515</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.016</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.7279999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38703</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.6640000000000001</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.5739999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39348</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8100000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38956</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.5739999999999998</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">9.2189999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38919</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.016</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">8.5939999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38531</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.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">9.1829999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41554</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8279999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.8940000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39233</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.5670000000000002</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.5169999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">463359</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.014999999999999999</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">8.2490000000000006</Number>
    <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.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.573</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.5199999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42203</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.014999999999999999</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.2170000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39611</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.6349999999999998</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.7089999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42248</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.016</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.3710000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40017</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.6680000000000001</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.6180000000000003</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_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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9540000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3849999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40086</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.75</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">9.6289999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42835</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.016</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">8.3550000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39904</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.6360000000000001</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.5069999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39130</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.016</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">8.4199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37965</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.6589999999999998</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.4770000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42968</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8340000000000001</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">40211</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.7629999999999999</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.5139999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42311</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8580000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4710000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40313</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.6320000000000001</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.4990000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42247</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8500000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4459999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40227</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.6749999999999998</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.4730000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42267</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.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.5120000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40421</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.6890000000000001</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42496</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7829999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5389999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40222</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.7679999999999998</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">9.5289999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42550</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.016</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">8.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40321</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.7559999999999998</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">9.5060000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42418</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.766</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4559999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40292</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.6829999999999998</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.4909999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42355</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.017000000000000001</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.4619999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40475</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.548</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">9.2439999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38597</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.016</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">7.9909999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37533</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.7389999999999999</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">9.1440000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38736</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8300000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.968</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37623</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.7410000000000001</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">9.5470000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39176</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.016</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.1910000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38022</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.5960000000000001</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.5760000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39148</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7869999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2710000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37792</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.6459999999999999</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.6150000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39303</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.016</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">37905</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.5779999999999998</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.7750000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39258</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.7679999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4169999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38026</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">2.6400000000000001</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">9.6690000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39313</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.016</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.3789999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38219</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.653</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.4870000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38977</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8279999999999998</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">38172</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.702</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.5410000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39255</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.016</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">8.5459999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38243</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.7599999999999998</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.5120000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39206</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9470000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4860000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38300</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.593</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.5579999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39073</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5069999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38285</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.6440000000000001</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.4949999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41249</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.016</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.5359999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38272</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.6560000000000001</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">9.4589999999999996</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.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.014999999999999999</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.5899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39062</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.8460000000000001</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">9.9540000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39839</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.016</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.6080000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38409</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.8170000000000002</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.6099999999999994</Number>
    <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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.548</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38474</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.79</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">9.5380000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39300</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.016</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.5909999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38587</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">2.6699999999999999</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">9.3659999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38849</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0630000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37839</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">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">406.43099999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">436342</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.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">7.9249999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37609</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.6509999999999998</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.6620000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39598</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.014999999999999999</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">8.3379999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38191</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.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">9.5470000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39237</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.016</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.202</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38090</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.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">9.7319999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39420</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.014999999999999999</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">8.3539999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38216</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.694</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.798</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39410</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4320000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38230</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.782</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">9.7260000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39511</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.016</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.2959999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37991</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.7799999999999998</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">9.4190000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39260</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.016</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.4109999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38196</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.6890000000000001</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.6500000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39059</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.016</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">8.4619999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38292</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.75</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.5570000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39263</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4329999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38313</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.6909999999999998</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">9.6579999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39358</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.899</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">38258</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.7509999999999999</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.5679999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39119</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9540000000000002</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">38344</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.7930000000000001</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">9.5139999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39337</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.016</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">8.484</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38443</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.698</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.5860000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39252</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.016</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">8.5359999999999996</Number>
    <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.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.7839999999999998</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">9.6690000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39389</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.016</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.5310000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38282</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.7679999999999998</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.5199999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39185</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9700000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4860000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38389</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.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">10.1</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37173</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.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">9.4440000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36805</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.681</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.411</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28485</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.014999999999999999</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.7240000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27779</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.6760000000000002</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.699</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28820</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3479999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9740000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28106</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.8109999999999999</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.861000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29277</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9879999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28185</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.8300000000000001</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.814</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31477</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5110000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.960000000000001</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.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.2050000000000001</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.765000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35664</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6949999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.516999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43188</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">1438.4930420000001</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">19.608000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1475803</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2770000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.393000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42093</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.8860000000000001</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">239.46499600000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">267781</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9729999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8089999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35681</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">2.9129999999999998</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.974</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30078</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.016</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.1519999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26790</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.0230000000000001</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.092000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30690</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.016</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">9.3780000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27268</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">2.887</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.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31673</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.016</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">9.3870000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27595</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.7149999999999999</Number>
    <Number 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.6270000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27667</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.016</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">8.7420000000000009</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26007</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.9540000000000002</Number>
    <Number 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">28289</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1600000000000001</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">26266</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.9969999999999999</Number>
    <Number 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.8119999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29080</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1760000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9350000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26592</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">3.04</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.035</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34560</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.014999999999999999</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">8.8960000000000008</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.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.722</Number>
    <Number 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.059000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43140</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8260000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.007000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42674</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.7210000000000001</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">26.705998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52495</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.032</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">27.025998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53940</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.7719999999999998</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.900998999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51934</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.298</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.521000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51302</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.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.909000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26939</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6739999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.202999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26616</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.2429999999999999</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.177</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30305</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.605</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29588</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.7490000000000001</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.430999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33906</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.6680000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.25</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35397</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6619999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.8959999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">17890</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.976</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.148</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39292</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5350000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.029999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39222</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.9700000000000002</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.252000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35654</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.54</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5779999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35517</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.9630000000000001</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.268000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35500</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5169999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5649999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35320</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">3.0790000000000002</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.15</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36597</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.5910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.779</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36666</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.8780000000000001</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.281000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35524</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.016</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">9.4990000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35295</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.9580000000000002</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.285</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35537</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5270000000000001</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">35275</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.964</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.1</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36423</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.73</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36857</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.9350000000000001</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.25</Number>
    <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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5249999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7850000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35621</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.9399999999999999</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.372999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35640</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.016</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">9.6500000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35478</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.0129999999999999</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.069000000000001</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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5979999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.741</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36663</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">2.9359999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.065000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.039999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36388</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.016</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">10.653</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36643</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.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">11.609999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40661</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5019999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9540000000000006</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37787</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.202</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.632999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36271</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4430000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7959999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34449</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.0630000000000002</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.766999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36225</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.014999999999999999</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">8.8580000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34640</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.1949999999999998</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.69</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37357</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5129999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9529999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35801</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.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">10.785</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36348</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.016</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">8.8160000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34562</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.085</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.691000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36245</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9039999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34323</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.2949999999999999</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.598000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37306</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.014999999999999999</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">9.9199999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35617</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.1579999999999999</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.707000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36284</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3050000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8659999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34431</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.0590000000000002</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36112</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3250000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9420000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34495</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.3239999999999998</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.645</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37372</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5449999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9499999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35863</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.3109999999999999</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.617000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37461</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5819999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9410000000000007</Number>
    <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.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.1520000000000001</Number>
    <Number 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.7889999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28857</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.014999999999999999</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">8.9350000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26761</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.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">10.15</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27681</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.016</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">9.5359999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25571</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.125</Number>
    <Number 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.260999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26024</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2679999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4719999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25483</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">2.8500000000000001</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.366</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35626</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.014999999999999999</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">9.641</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35213</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.831</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.327999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35313</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.016</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.6809999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35402</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.7309999999999999</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.329000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35504</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.014999999999999999</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">9.5530000000000008</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35377</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.052</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">1348.4270019999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1373637</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3224.2590329999998</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">3256675</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.4630000000000001</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.638</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36183</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9780000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9160000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36277</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.6890000000000001</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.971</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36844</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7210000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0060000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35006</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.3900000000000001</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.045</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26197</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.014999999999999999</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.1080000000000005</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">25498</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.625</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.005000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38994</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.4729999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.847</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.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.7400000000000002</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.391999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41717</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.3879999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.132</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44153</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.1930000000000001</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.406000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35667</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.124</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">9.6669999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35626</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.9249999999999998</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.583</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35870</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2120000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8010000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34306</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.246</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">36143</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5009999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7560000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34299</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.2610000000000001</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.988</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.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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9750000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5030000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20188</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.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">17.337</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36907</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3710000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.510999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35932</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.8450000000000002</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.170999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36676</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.111</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5049999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.367999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36020</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">4.1150000000000002</Number>
    <Number 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.526999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36850</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2069999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1263.9219969999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1293201</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.3390000000000004</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.486000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33149</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2759999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.614000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35318</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">5.2119999999999997</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">21.216000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48217</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.128</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.8280000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.678000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36747</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">4.008</Number>
    <Number 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.769</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32812</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.029999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.1269999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.372</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44152</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">8.9779999999999998</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">44489</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.2249999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.658999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42200</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">8.8940000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.028000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.688000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64834</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.8360000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.481999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55617</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">9.4779999999999998</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.139999000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57168</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">6.8819999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">25.489999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48029</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">285.56601000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</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">343123</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.084000000000000005</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">9.7699999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">39.901001000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66944</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.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">34.490001999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54411</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.226</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.321998999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59234</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">3.7959999999999998</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.884</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32193</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3780000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9589999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27330</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.012</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.805999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30443</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5920000000000001</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">29825</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">2.9990000000000001</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.289</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31040</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7389999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.706</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30552</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.3799999999999999</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.167</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34441</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8340000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.085000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33249</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.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">17.835999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39613</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1820000000000004</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">39143</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.7000000000000002</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.564</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28259</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4969999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.824999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28072</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.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">11.584</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28057</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.789</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">27897</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.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">15.711</Number>
    <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.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.016</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">15.920999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37633</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.798</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.542000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53549</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.3140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.766999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54584</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.0439999999999996</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.802999</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.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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.758</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.948999000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43740</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.875</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.690999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43015</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3529999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.725000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43690</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.6669999999999998</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.532</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35118</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.923</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33948</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.9630000000000001</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.965999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36891</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1890000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.656000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32142</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.6379999999999999</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.973000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45387</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0199999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.352</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41443</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.802</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.919</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45080</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1879999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.497999999999999</Number>
    <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.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">3.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">11.554</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32149</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5800000000000001</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">32542</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">2.0019999999999998</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">4397</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.012999999999999999</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">4082</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.996</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">4265</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8009999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4037</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.929</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">4182</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.014</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">4137</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">2.097</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">4358</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4201</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">2.0350000000000001</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">4303</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9870000000000001</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.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.80400000000000005</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">2958</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.012999999999999999</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">2707</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.9339999999999999</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">4202</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.115</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">4224</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">2.0510000000000002</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">4368</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.014</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">4200</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">2.1019999999999999</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">4382</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.012999999999999999</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">4216</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">2.0419999999999998</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">4301</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9570000000000001</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.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.98</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">4390</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.877</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.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">2.0179999999999998</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">4281</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7050000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4058</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.1640000000000001</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">4439</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1040000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4381</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.9790000000000001</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">4240</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.012999999999999999</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">4195</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.9990000000000001</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">4505</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.837</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.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.827</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">4332</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7390000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4261</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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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.875</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">3064</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
</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.67700000000000005</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.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.9139999999999999</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">4175</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7849999999999999</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.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.0859999999999999</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">4481</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0739999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4481</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">2.093</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">4304</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0310000000000001</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.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.996</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">4406</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0219999999999998</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.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">2.0350000000000001</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">4308</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.012999999999999999</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">4235</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.085</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">4399</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.012999999999999999</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">4326</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">2.173</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">4406</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0880000000000001</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.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">2.056</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">4415</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.012999999999999999</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">4235</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">2.0659999999999998</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">4348</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.0289999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4277</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.9470000000000001</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">4293</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.948</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4137</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.69599999999999995</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">3002</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.56399999999999995</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.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.56200000000000006</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">2735</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.45500000000000002</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.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.8979999999999999</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">4210</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.012</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">4245</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.869</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">4220</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8979999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4134</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">2.0299999999999998</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">4243</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.012999999999999999</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">4172</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">2.0529999999999999</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">4271</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.968</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.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.75800000000000001</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">2889</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.58199999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2675</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.52300000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2685</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.7789999999999999</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">4113</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.012999999999999999</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">4200</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.944</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">4157</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.704</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3992</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.974</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">4204</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.012999999999999999</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">4072</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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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.72799999999999998</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">3082</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
</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.504</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2752</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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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.63900000000000001</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">2823</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
</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.53800000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2796</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
</InfoLog>
      </VertexShader>
      <FragmentShader CompileStatus="OK">
        <ShaderSource>#version 100
precision mediump float;
precision mediump int;



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.65300000000000002</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">2754</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
</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">0.69099999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2782</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">2.129</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">4424</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.04</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.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.49399999999999999</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">2771</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.501</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2715</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.57999999999999996</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">2710</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.438</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.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.49299999999999999</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">2705</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.495</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2687</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.58399999999999996</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">2696</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.012</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.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.49399999999999999</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">2703</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.57099999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2675</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.48899999999999999</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">2782</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53800000000000003</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.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.58499999999999996</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">2709</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.012</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">2744</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.48899999999999999</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">2727</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53600000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2616</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.58099999999999996</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">2776</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.52800000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2718</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.59199999999999997</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">2781</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53600000000000003</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.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.58399999999999996</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">2723</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.434</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2709</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.59199999999999997</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">2795</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.111</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">2642</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.48199999999999998</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">2728</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53100000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2775</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.58699999999999997</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">2736</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.012</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">2612</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.63300000000000001</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">2832</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.012</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">2672</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.59099999999999997</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">2746</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53900000000000003</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.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.63100000000000001</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">2739</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53000000000000003</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.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.58099999999999996</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">2825</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.012</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">2635</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.69899999999999995</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">2814</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.438</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2766</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.58899999999999997</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">2709</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53300000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2624</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.629</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">2801</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53700000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2696</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.57899999999999996</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">2713</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53000000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2670</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.629</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">2741</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.10199999999999999</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">2645</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.48299999999999998</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">2873</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.11700000000000001</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">2642</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.51200000000000001</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">2716</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.012999999999999999</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">2699</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.012999999999999999</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">2671</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.48299999999999998</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">2719</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.113</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.46999999999999997</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2735</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.63700000000000001</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">2866</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.010999999999999999</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">2691</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.48299999999999998</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">2837</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54300000000000004</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.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.54400000000000004</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">2794</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54300000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2810</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.58699999999999997</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">2736</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54500000000000004</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.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.53900000000000003</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">2862</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54400000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2687</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.58499999999999996</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">2739</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.45200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2691</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.63100000000000001</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">2784</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54700000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2683</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.59699999999999998</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">2771</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.012999999999999999</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">2700</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.63500000000000001</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">2840</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.012999999999999999</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">2672</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.49199999999999999</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">2733</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.012</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">2719</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.625</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">2787</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.012999999999999999</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">2668</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.58299999999999996</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">2821</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.45200000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2704</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.64000000000000001</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">2772</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54100000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2714</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.58699999999999997</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">2811</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.55300000000000005</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.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.629</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">2819</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.107</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">2673</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.5</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">2769</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.45700000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2679</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.628</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">2748</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2676</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.51400000000000001</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">2825</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.109</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.45200000000000001</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.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.8759999999999999</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">4314</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.012999999999999999</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">4033</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.63600000000000001</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">2994</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.44</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.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.48599999999999999</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">2753</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.52200000000000002</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.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.921</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">4282</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.012999999999999999</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">4192</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.117</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">4439</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.014</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">4277</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">2.0600000000000001</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">4376</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9910000000000001</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.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.9870000000000001</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">4363</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.012999999999999999</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">4192</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">1.9139999999999999</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">4494</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.012999999999999999</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">4218</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">2.028</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">4285</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.012999999999999999</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">4297</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">2.0990000000000002</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">4307</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.012999999999999999</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">4311</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.948</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">4252</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.012</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">4230</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.9159999999999999</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">4208</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.014</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">4187</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.905</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">4158</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9039999999999999</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.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.986</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">4236</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8620000000000001</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_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.9470000000000001</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">4233</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.014</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">4184</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.3839999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2269999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7709999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">21351</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.6699999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1269999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7599999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20383</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.5710000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.016</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.843</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20148</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.99199999999999999</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">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.79900000000000004</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.53000000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3593</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.81200000000000006</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.54800000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3619</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.81299999999999994</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">3666</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.84199999999999997</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.56399999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3670</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.82999999999999996</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">3666</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.78300000000000003</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.52600000000000002</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3553</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.0430000000000001</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">5.1600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15862</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.014</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">4.9020000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15429</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">3.2229999999999999</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">5.0800000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15938</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.014</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">4.9509999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15651</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.089</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">4.96</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15688</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9279999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4.9080000000000004</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15498</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.0840000000000001</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">5.0179999999999998</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15805</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.012999999999999999</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">4.9470000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">15493</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.234</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">3581</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.1060000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3335</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.038</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">3337</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.012999999999999999</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">3344</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.056</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">3336</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.99399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3335</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.069</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">3371</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.014</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3242</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.087</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">3333</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.03</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3285</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.089</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">3362</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.0289999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3270</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.016</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">3298</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.95999999999999996</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3183</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.071</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">3351</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.016</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3359</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.0219999999999998</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.303000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33323</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.3809999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4100000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28383</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.0299999999999998</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.301</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30018</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.577</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3469999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28464</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">2.1349999999999998</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.284000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30120</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5659999999999998</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">28377</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.2330000000000001</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.582000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32573</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6549999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.4770000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29618</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.403</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.398</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32389</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9009999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.881</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31452</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.1960000000000002</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.207000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32059</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8119999999999998</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">31315</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.581</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.340999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33632</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.014999999999999999</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">12.069000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32433</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.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">10.48</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30575</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5529999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3569999999999993</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28574</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.331</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.743</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31900</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.014999999999999999</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.1750000000000007</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29489</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.1949999999999998</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.348000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30202</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6309999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.407</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28682</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.097</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.234999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29896</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4910000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3919999999999995</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30817</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.129</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.388</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30084</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6019999999999999</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">28597</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.202</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>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30288</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.016</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.3520000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28465</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.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">10.369999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30317</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6709999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3859999999999992</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28524</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">2.0459999999999998</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.317</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30106</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4700000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.3680000000000003</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28258</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.2789999999999999</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.390000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30371</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.6779999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.5619999999999994</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28803</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.4530000000000001</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">3785</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2949999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3642</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.3839999999999999</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">3684</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2889999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3581</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.446</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">3798</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.3899999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3689</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.5249999999999999</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">3846</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.452</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3827</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.7490000000000001</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">4077</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.677</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4036</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.5900000000000001</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">3874</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.516</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3777</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.6599999999999999</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">4020</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.53</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3785</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.4450000000000001</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">3716</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.331</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3625</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.4750000000000001</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">3748</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.343</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3605</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.508</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">3801</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.407</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3662</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.522</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">3855</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.421</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3700</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.5029999999999999</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">3781</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.395</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3710</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.5940000000000001</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">3872</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.014</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">3783</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.601</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">3965</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.464</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3836</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.345</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">3602</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.27</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3524</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.3260000000000001</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">3605</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.2789999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3644</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.4530000000000001</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">3709</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.403</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3666</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.4970000000000001</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">3817</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.045999999999999999</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">3695</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.7250000000000001</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">4072</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.643</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4063</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.512</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">3859</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.415</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.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.589</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">3957</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.4950000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3837</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.3049999999999999</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">3674</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.244</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">3525</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.9259999999999999</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">4233</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.014</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">4201</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.97</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">4284</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.012999999999999999</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">4235</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.9019999999999999</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">4284</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8029999999999999</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.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">1.9179999999999999</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">4289</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.012</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">4079</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.98</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">4344</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.921</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4187</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.984</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">4309</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.012999999999999999</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">4161</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">1.925</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">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_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.012999999999999999</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">4134</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.931</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">4297</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.012999999999999999</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">4127</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.998</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">4371</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.012999999999999999</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">4114</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.0019999999999998</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">4305</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.012999999999999999</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">4163</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.931</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">4289</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.012999999999999999</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">4234</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.909</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">4235</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.012999999999999999</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">4169</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.9970000000000001</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">4282</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.841</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4103</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">1.986</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">4414</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.012999999999999999</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">4118</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.9370000000000001</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">4334</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7909999999999999</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.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">2.0009999999999999</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">4282</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8919999999999999</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.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">1.9870000000000001</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">4279</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.012999999999999999</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">4194</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.909</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">4358</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.012999999999999999</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">4154</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.9259999999999999</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">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_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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.794</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_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.0529999999999999</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">4368</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.012999999999999999</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">4224</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.0270000000000001</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">4344</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.012999999999999999</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">4233</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.9319999999999999</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">4324</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.012999999999999999</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">4121</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.919</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">4349</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.012999999999999999</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">4159</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.968</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">4280</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.847</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4166</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.984</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">4298</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.794</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4233</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.9219999999999999</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">4301</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.012999999999999999</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">4175</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">1.9870000000000001</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">4317</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.012999999999999999</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">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_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">1.976</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">4269</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.012999999999999999</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">4161</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.9239999999999999</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">4289</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.012</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">4197</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">1.9159999999999999</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">4249</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.012999999999999999</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">4142</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">2.0209999999999999</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">4320</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8680000000000001</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_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.996</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">4339</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.014</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">4195</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.9059999999999999</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">4244</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.014</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">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_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.9019999999999999</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">4215</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.012</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">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_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.0350000000000001</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">4313</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.012999999999999999</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">4121</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.988</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">4357</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.014</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">4133</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">1.9219999999999999</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">4275</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.7849999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4072</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">1.931</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">4291</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.014</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">4201</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">2.0739999999999998</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">4371</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.877</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4172</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">1.9390000000000001</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">4400</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9450000000000001</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.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.0249999999999999</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">4514</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.012999999999999999</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">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_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.0110000000000001</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">4327</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8700000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4196</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.9410000000000001</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">4364</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.014</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">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_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.966</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">4307</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8240000000000001</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_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.0579999999999998</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">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_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.012999999999999999</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">4252</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">2.0270000000000001</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">4416</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.014</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">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_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.9630000000000001</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">4362</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.012999999999999999</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">4256</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">2.0459999999999998</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">4378</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.012999999999999999</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">4241</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">2.056</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">4418</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.014</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">4279</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">1.944</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">4384</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.012999999999999999</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">4122</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.9319999999999999</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">4268</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.012999999999999999</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">4199</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">2.0009999999999999</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">4313</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.012999999999999999</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">4215</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">1.9850000000000001</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">4335</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.012999999999999999</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">4119</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">1.9319999999999999</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">4350</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.012</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">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_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">2.0179999999999998</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">4395</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.012</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">4131</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">2.024</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">4336</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.014</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">4240</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">1.9710000000000001</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">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_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.012999999999999999</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">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_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.9610000000000001</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">4330</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8919999999999999</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.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">2.093</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">4473</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.012999999999999999</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">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_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">1.952</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">4407</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.014</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">4256</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">1.9590000000000001</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">4358</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.014999999999999999</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">4267</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">2.0289999999999999</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_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.014</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">4196</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.044</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">4470</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.012</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">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_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.946</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">4353</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.012999999999999999</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">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_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.998</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">4292</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8700000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4226</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">2.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">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_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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8480000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4134</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">1.931</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">4324</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.012</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">4127</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.9370000000000001</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">4352</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.012999999999999999</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">4161</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">2.0089999999999999</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">4294</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.014</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">4154</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.1110000000000002</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">4469</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.012999999999999999</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">4223</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.966</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">4315</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.014</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">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_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.044</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">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_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.012999999999999999</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">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_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.0339999999999998</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">4427</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.843</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.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">1.9570000000000001</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">4344</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8600000000000001</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4286</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">2.0600000000000001</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">4366</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.012999999999999999</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">4216</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.0089999999999999</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">4334</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8240000000000001</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_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.962</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">4389</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.012999999999999999</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">4145</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.9359999999999999</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">4256</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8600000000000001</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.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">2.0259999999999998</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">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_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.012999999999999999</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">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_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.004</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">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_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.014</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">4177</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.9390000000000001</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">4263</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.014</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">4131</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">2.036</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">4395</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.012</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">4188</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">1.986</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">4289</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.012999999999999999</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">4337</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.9790000000000001</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">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_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.012999999999999999</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">4227</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.976</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">4349</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9359999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4254</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.008</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">4385</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.927</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_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.986</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">4395</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.843</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.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.952</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">4301</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.012</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">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.0049999999999999</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">4314</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.014</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">4190</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.9370000000000001</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">4355</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.012999999999999999</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">4146</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.9419999999999999</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">4339</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.012</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">4156</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.0259999999999998</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">4324</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.877</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4259</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">1.99</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">4307</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.012999999999999999</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">4310</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.9399999999999999</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">4311</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.012999999999999999</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">4132</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.9770000000000001</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">4387</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9399999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4254</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.0270000000000001</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">4343</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8680000000000001</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.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">2.0070000000000001</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">4451</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.014</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">4279</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.9510000000000001</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">4333</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.012999999999999999</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">4146</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.069</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">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_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.012</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">4157</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.972</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">4431</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.012999999999999999</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">4229</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.9450000000000001</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">4317</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.014</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">4208</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.0390000000000001</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">4360</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.012999999999999999</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">4243</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">2.0459999999999998</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">4407</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.012999999999999999</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">4188</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.9390000000000001</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">4337</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.012999999999999999</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">4151</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.0089999999999999</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">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_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.012999999999999999</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">4186</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">1.974</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">4267</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.012999999999999999</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">4310</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.9670000000000001</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">4335</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.014</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">4192</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">1.9470000000000001</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">4317</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.012999999999999999</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">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_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.0350000000000001</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">4408</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8999999999999999</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_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.9670000000000001</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">4329</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.014</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">4173</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">1.9670000000000001</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">4386</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.877</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.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">1.964</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">4263</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.012999999999999999</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">4173</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.9370000000000001</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">4468</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.012999999999999999</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">4186</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.9430000000000001</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">4286</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.012999999999999999</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">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_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.996</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">4283</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.012999999999999999</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">4302</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">2.0019999999999998</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">4314</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.014</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">4182</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.9550000000000001</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">4344</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.012999999999999999</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">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_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.0369999999999999</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">4443</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.927</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4250</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">2.0600000000000001</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">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_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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8240000000000001</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.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.9950000000000001</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">4387</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.837</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.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.0640000000000001</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">4413</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.012999999999999999</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">4186</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">2.0830000000000002</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">4461</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.012999999999999999</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">4231</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.931</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">4317</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.012999999999999999</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">4216</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">1.9590000000000001</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">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_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.014</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">4262</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.0259999999999998</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">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_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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.877</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_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.948</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">4356</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.014</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">4165</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">1.9490000000000001</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">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_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.012</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">4139</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.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">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_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.012999999999999999</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">4200</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.6309999999999998</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.699999999999999</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">26711</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.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">10.058</Number>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5165561</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.681</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.1379999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.144</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53318</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.016</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">34.533000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64326</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.4140000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.704999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43670</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.017000000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0710000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.158000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52980</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">3.0640000000000001</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">36.452998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76789</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.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">56.730998999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80209</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.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">40.860999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63569</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.017999999999999999</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">45.444000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69328</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.6440000000000001</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.344000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48973</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.313000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62348</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.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">23.225999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44668</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.017000000000000001</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">28.266000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51276</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.282</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.329000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56767</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.285998999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66470</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.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">28.044001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49847</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.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">33.152999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56121</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.0680000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.266</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">290.18398999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">323487</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.017000000000000001</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">34.973998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68909</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.391</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.620000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48249</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.017000000000000001</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">23.902000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56685</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.0699999999999998</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.623001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78674</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.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">57.445</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">96107</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.016</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.527000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64603</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.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">46.580002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70715</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.726</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">19.972999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50712</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">40.433998000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63270</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.016</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.039000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45703</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.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">29.155000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52213</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.1669999999999998</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.157</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62507</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">45.043998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68209</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">28.725000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51583</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.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">33.764999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57986</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">2.9660000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.2410000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.033000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54798</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">2.911</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">40.122002000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">71172</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.2570000000000001</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">47426</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.017000000000000001</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">27.785</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57704</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.2320000000000002</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">41.792000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">87498</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.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">63.574001000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">86862</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.014999999999999999</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">212.91400100000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">235899</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.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">51.402999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75675</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.782</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.236999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56135</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">46.581001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">69840</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.0070000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">547.49200399999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">569953</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.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">33.896999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57830</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.3599999999999999</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">28.670999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70190</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">50.477001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74315</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.014999999999999999</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">32.362999000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55680</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">440.86599699999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">465969</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">2.911</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4199999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.895</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47749</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.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">13.641999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47224</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.017999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3090000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.359999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45295</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">3.0870000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.99</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48615</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.0800000000000001</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">30.710999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82236</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.702998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83206</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.014999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83371</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.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.924999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84492</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.633</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.034000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47596</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.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">19.295999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48248</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.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47742</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.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">19.374001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48384</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.2290000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">845.92901600000005</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">1286633</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.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.990998999999999</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">454558</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.014999999999999999</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">22.844000000000001</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">455432</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.01</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.141999999999999</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">454303</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.3140000000000001</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.8759999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7320000000000002</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.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.4900000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.4670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.4349999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32856</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.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">24.091000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62086</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.014</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.5600000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33241</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.6509999999999998</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.7859999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33612</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.339</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4399999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30850</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.1909999999999998</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.589</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45963</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.014</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">10.163</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34167</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">3.077</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.5020000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38939</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.738</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4489999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32769</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.2280000000000002</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.934000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">65661</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.012</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">9.6760000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33372</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.6890000000000001</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.5890000000000004</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.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.014</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">9.3369999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30861</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.3170000000000002</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.506</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">232942</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.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.7840000000000007</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.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.0289999999999999</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.4090000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39370</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.7120000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.3970000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32631</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.1419999999999999</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.049999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70718</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">3.02</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6370000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33412</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.718</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.5990000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40018</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2970000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5530000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33430</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.2909999999999999</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.548</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48930</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">2.9780000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8719999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33915</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.9990000000000001</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.3300000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39910</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.6379999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6649999999999991</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31609</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.0670000000000002</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">23.16</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74917</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.012</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">164.88800000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">188643</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.7850000000000001</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.1649999999999991</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33662</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2810000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6920000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30301</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.2040000000000002</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.691000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">141773</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.9239999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2479999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33027</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.4950000000000001</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.4429999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37183</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4630000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.06</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33347</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.718</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.591000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67171</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.016</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">29.805</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56430</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.2450000000000001</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.582000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">377882</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.883</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.645</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.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.871</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.294001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.6200000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.728999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45611</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.7120000000000002</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.646999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70371</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5369999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.675998999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">198315</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.774</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">48.117001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">95053</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.496</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">48.761001999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79682</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.5330000000000004</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.370998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59443</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2190000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.520000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56124</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">3.9300000000000002</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.092998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79205</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7090000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">383.37701399999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">413692</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">1149.637939</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">13.981</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1189591</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">4.0010000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.93</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36811</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.4619999999999997</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.071998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72585</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.012999999999999999</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">33.832999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61265</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.7599999999999998</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.978</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39175</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3970000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.976000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35365</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.5540000000000003</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.478999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54514</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.014</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">21.794001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48551</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.9540000000000002</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.829000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53431</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.589</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.259001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47242</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.0140000000000002</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">36.106997999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77561</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.694</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.548000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67112</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.6719999999999997</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.330998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46822</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.2489999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.361999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43353</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.0880000000000001</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.488001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60890</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.6000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.660999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53898</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.1579999999999995</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">4317.7788090000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4350158</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">2.343</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.6239999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4207.3808589999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4239491</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">170.50799599999999</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">6393.4467770000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6664767</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">7.9950000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6413.408203</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6503909</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.6150000000000002</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">4219.2177730000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4251584</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">236.88999899999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4220.4160160000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4476254</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">3904.0639649999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.014</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5683.6708980000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9634257</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1995.1519780000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5680.0429690000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7713933</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">3.9390000000000001</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.5749999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41545</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.5169999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.010999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33412</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.8599999999999999</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.878</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72566</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">3.573</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.995999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56983</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">7550.8608400000003</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.215</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">7589627</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.1550000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.909000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35204</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">4.0380000000000003</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.379000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53011</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.625</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.850000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47066</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.9129999999999998</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.813999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">75084</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.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">32.908000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63443</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.9889999999999999</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">1867.165039</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">1926205</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.014999999999999999</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">48.870998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84118</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.5830000000000002</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.044998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58620</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2910000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.022998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55945</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.1609999999999996</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.276001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">85171</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.871</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.511001999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72005</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.4390000000000001</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.747</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42427</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.077</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.891999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36992</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.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">33.991000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76368</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.2430000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.997002000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61613</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.774</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.882</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38257</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.016</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4080000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.026</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35600</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.6669999999999998</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.577000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55684</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.3849999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.455998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48186</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.9369999999999998</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.952998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56563</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.6429999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.007000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46947</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.0629999999999997</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.131000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84061</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8199999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.584999000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67131</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.6040000000000001</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.173999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57373</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.3150000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.158999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47733</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">4.0339999999999998</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.364999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63676</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.7799999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.568999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54061</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.1430000000000007</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">4212.6030270000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4244839</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.7450000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4372.3559569999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4399705</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">2755.7170409999999</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">6411.5541990000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">9291029</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">596.42797900000005</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6126.4760740000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6826226</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.7550000000000008</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">4229.8100590000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4263711</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">213.740005</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4386.6992190000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4621570</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.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">5906.080078</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5967721</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.218</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5916.4072269999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5966938</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">3.9830000000000001</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.5229999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39260</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.012999999999999999</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">9.9990000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33538</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.8559999999999999</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.847999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">78628</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.5899999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.287001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58095</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.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">10.648</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40821</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3540000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.449</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36597</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">4.5570000000000004</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.318000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62764</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7679999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.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">32.817000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79609</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.014999999999999999</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">33.018002000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60116</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.9700000000000002</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">48.428001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">118223</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6440000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">48.742001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82679</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.6130000000000004</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.212001999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2771086</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2149999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">32.839001000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">272771</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.1580000000000004</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.433998000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">90718</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">4.0039999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">38.679001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70123</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.4420000000000002</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.795999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42974</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.069</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.901</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36986</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.5620000000000003</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">33.904998999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81254</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2370000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.972999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61418</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.665</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.884</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38019</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3090000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.935</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35303</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.6710000000000003</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.712</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58894</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.3490000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.672999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48384</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.9319999999999999</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.934000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59822</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.661</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.103999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47172</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.9540000000000002</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.171000999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">92991</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.718</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.673000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68015</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.6390000000000002</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.201000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46097</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.148001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43101</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.016</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.367999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68659</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7650000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.662001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54386</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.1549999999999994</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">4226.4902339999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4259079</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">8.0820000000000007</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4232.8251950000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4262661</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">3875.7958979999999</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">6411.6611329999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">10426123</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.010999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.1280000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6388.8120120000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6475590</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.6880000000000006</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">4213.2919920000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4245751</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.2729999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4205.0991210000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4233530</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.6059999999999999</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">5677.3979490000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5742896</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">8.1539999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5683.8637699999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5730872</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.923</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.5199999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41237</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.4470000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8840000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32122</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.8759999999999999</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">27.91</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">79301</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.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">28.382999000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54913</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.327</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.5120000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40209</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0940000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.8170000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33627</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.9830000000000001</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">17.327998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54378</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.014999999999999999</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">17.665001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43539</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.8839999999999999</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.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82609</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.4700000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.422001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57179</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.891</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.097999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">127983</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.589</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">47.373001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80973</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.5810000000000004</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.398001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56928</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2249999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.495999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53156</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.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">36.867001000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">95295</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7989999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.119999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67777</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.3300000000000001</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.574</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42212</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">4.0380000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.358000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35114</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.4850000000000003</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.445</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84389</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.1790000000000003</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.084999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58306</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.702</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.709</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36969</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3579999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.497</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33983</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.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">20.358000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58018</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2949999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.135999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46540</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.871</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.722000000000001</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">454456</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5910000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.327000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46484</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.9900000000000002</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">35.209999000000003</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">481054</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.7189999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">35.596001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66154</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.569</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.856000999999999</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">454584</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.2549999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.268999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41378</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.8759999999999999</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.313998999999999</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">460426</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.6309999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.617999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52742</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">8.4190000000000005</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">4211.9521480000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4244645</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.9390000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4362.4628910000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4392215</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.5730000000000004</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">6135.3691410000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6297350</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.2680000000000007</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6384.408203</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">6469709</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.7390000000000008</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">4213.201172</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4248218</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">9.2319999999999993</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">4208.5419920000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">4236903</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.6839999999999993</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">5682.8427730000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5750989</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.2520000000000007</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">5680.3989259999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">5725278</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.3290000000000002</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.823</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.8339999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36446</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.0059999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.452</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31009</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.1920000000000002</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.5909999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32332</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.014</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.3160000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30811</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.2360000000000002</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.9819999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32731</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.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">11.541</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32590</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.2690000000000001</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.239000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43213</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.014</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">14.023</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37454</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.7919999999999998</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.0700000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33284</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5230000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.8290000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30457</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.581</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.319000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44399</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.387</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.053000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39264</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.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">9.4120000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36148</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.014</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">10.413</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33030</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.1549999999999998</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.0370000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32478</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.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">8.984</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29928</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.2210000000000001</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.3390000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.014999999999999999</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.298</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30279</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.2080000000000002</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.585000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43022</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.1000000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.372999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37807</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.7349999999999999</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.5129999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33513</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.5179999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2400000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30809</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.5920000000000001</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.640000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44629</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.014</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">14.436999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39604</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.3239999999999998</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.4450000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33066</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.014</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">9.327</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.2730000000000001</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.0980000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32547</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">2.9870000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9139999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29922</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.2250000000000001</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.4250000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32956</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">3.0619999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.1920000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30334</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.3170000000000002</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.537000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38304</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.1070000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.318</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35658</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.7530000000000001</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.4969999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33489</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.012</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">10.321999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31950</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.593</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.659000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38692</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3159999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.561</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36510</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.4039999999999999</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.148999999999999</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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.2109999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.118</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39542</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.3069999999999999</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.013</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38668</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.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">15.007999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36428</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.3540000000000001</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.648999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39431</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">3.157</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.210000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36602</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.2349999999999999</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.285</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51417</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.1320000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.091999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45039</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.8540000000000001</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.625999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39798</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.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">15.417999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37298</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.5539999999999998</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.801000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52944</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.528</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.931999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49092</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.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">10.468999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37953</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6920000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.307</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33453</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.7549999999999999</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.9489999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34022</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.6240000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7379999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31481</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.9300000000000002</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.164999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34428</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6669999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.081</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31808</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.9830000000000001</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.380000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44455</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.6349999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.275</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39319</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.2400000000000002</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.308</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34858</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.064</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32222</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.1399999999999997</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.632</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46241</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8690000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.425000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41127</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.746</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.188000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46571</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4489999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.919</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41149</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.6960000000000002</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.266</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38573</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3250000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.154999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36034</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.7069999999999999</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.598000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38827</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.014999999999999999</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">14.504</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36475</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.7789999999999999</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.52</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53588</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.548</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">47745</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.2300000000000004</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.798999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39654</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8959999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">14.503</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36978</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.9319999999999999</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.125999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54291</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.7160000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">19.902999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48786</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.2469999999999999</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.4510000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36443</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.0129999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.7799999999999994</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31326</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.0720000000000001</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.3650000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36550</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.014999999999999999</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.0530000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31805</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.3460000000000001</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.3949999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33170</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.014999999999999999</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">9.1850000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30434</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.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">19.204000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50935</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.2130000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.084</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44952</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.9079999999999999</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.5790000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33818</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.014</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">9.2850000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31120</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.5209999999999999</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.065</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45916</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.012999999999999999</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">14.762</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40322</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.3740000000000001</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.8360000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37911</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.0430000000000001</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">33209</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.2370000000000001</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.195</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37161</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.014</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.084</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32902</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.4039999999999999</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.31</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34107</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1160000000000001</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">31517</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.4940000000000002</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">20.399999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51867</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.014</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">20.222999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45227</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.8780000000000001</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.460000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34738</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6539999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.236000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32165</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.7010000000000001</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.024999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47075</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.3300000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.584</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41351</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.4399999999999999</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.7949999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33702</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.012999999999999999</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">10.401</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31684</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.1720000000000002</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.285</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33801</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0209999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9700000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31156</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.378</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.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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.089</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.276999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31518</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.4239999999999999</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.577000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44484</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.2909999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.115998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41807</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.9369999999999998</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.452</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34774</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.6629999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.369999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32202</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.613</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.962</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40154</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.4609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.720000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37960</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.524</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.947001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57175</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.306</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.774000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52704</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.4609999999999999</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">23.943999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57197</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.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">23.739000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51575</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.4500000000000002</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.024999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48072</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.327</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.850000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45899</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.508</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">33.929001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">72981</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.3220000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.603999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63731</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">4.0599999999999996</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.215</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48887</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.8730000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.843</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46459</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.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">29.013000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66027</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.617</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.757000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59680</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.98</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.247</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40303</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">3.835</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.884</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35662</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">4.0670000000000002</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.843999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39788</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7200000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.659000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35198</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">4.1130000000000004</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.932</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36400</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.012999999999999999</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">11.798</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34598</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">210.59599299999999</Number>
    <Number 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.34</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">261268</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.8610000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.777000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47383</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.3289999999999997</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.148999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36846</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.0960000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.837</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34159</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.234</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">17.341000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">189769</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.1619999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.271999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43844</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.7240000000000002</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.640000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49700</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5179999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.027999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44333</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.7160000000000002</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.106999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49328</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4209999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.948</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43230</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.6549999999999998</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.277999999999999</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.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.4289999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.978</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38321</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.8450000000000002</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.271000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63726</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.657</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.063998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55638</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.2519999999999998</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">0.070999999999999994</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.329000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41423</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1509999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.072001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39228</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.859</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.908999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58142</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.7000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">21.947001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51954</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.3149999999999999</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.3399999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37300</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">2.9359999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6289999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31339</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.3239999999999998</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.5749999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37346</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.014</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">9.4429999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32491</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.25</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.8350000000000009</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33414</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.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">9.4990000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30917</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.4700000000000002</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.693000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61058</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.3149999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">24.704000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51102</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">4.0250000000000004</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.8539999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34392</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.7639999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.6199999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31623</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.5190000000000001</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.56</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47259</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3010000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.352</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42155</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.4950000000000001</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.407999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39440</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.226</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.195</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35591</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.4380000000000002</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.539999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38977</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.014999999999999999</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">11.351000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34733</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.5459999999999998</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.696999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35623</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.1299999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.548</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33119</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.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">26.766999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">63298</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3650000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">26.573</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53469</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.0659999999999998</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.842000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36412</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.972</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.638999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33984</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.6269999999999998</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.247</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49025</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.48</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.106999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43500</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.3559999999999999</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.539</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34419</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.012999999999999999</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">11.074</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32771</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.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">11.526999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35265</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.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">11.433999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32989</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.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">11.664999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35589</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.3199999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.509</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33206</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.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">26.712999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50986</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.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">26.622999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48953</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.2510000000000003</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.847</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36614</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.948</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.676</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34141</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.8250000000000002</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.344000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41996</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.5670000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.089001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39830</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.6859999999999999</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.582999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76433</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.014</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">38.018002000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70478</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.6829999999999998</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">36.472999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">76756</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.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">37.770000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">70674</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.6520000000000001</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">36.599997999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60931</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.012999999999999999</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">36.347000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59324</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.657</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.342998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">100736</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.544</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">50.581001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">88099</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.3879999999999999</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.967998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62098</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0339999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.501998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59943</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.9039999999999999</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">41.719002000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">87083</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7509999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">41.535998999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77561</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.2549999999999999</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.068</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9790000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.154999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37451</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.1500000000000004</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.736000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42229</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">4.0369999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.534000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37921</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.29</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.984</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38701</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0609999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.617000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36192</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.3440000000000003</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.497</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67040</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.1580000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">29.350999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57139</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.7140000000000004</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.159000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39285</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3369999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.747999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36557</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.5250000000000004</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">20.254999000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53578</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.3470000000000004</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.02</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47532</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.7759999999999998</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.777000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52780</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.54</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.485001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46541</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.7309999999999999</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.079999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53031</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.4500000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.905999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.6989999999999998</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.417000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42994</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.524</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.247999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41380</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.972</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.747002000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">77238</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.6379999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">34.462001999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">66086</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.54</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.670000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44094</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.1779999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.302999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42018</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.8170000000000002</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.027000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">62070</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.012999999999999999</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">23.820999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54680</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.6949999999999998</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">7.9749999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35719</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.9780000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.2059999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30674</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.3399999999999999</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.672000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43936</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.012999999999999999</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">14.939</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.891</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.6069999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36319</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.012999999999999999</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">9.077</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32131</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.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">14.839</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45492</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.274</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.193</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40904</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.5419999999999998</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.559999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45920</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">3.056</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.757</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.2999999999999998</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.934999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">52007</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0209999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.23</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44697</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">32.122002000000002</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.274999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">74113</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5920000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.881</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40127</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.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">20.549999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">254001</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.012999999999999999</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">21.143999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47381</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.9969999999999999</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.4280000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37349</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.532</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.7490000000000006</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32600</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.8759999999999999</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.368</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45201</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.7730000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.011998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40030</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.4630000000000001</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.2279999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34089</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.008</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.673</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31777</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.2359999999999998</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.804</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">744321</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.7439999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.315000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.6850000000000001</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.958</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">49296</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.3460000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">15.971</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.7519999999999998</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.236000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55453</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.544</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.441998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46530</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.3570000000000002</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.030000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41036</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.988</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">16.315000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38757</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.972</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.334</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">56291</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.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">20.424999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47477</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.6440000000000001</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.8149999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37235</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.2599999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.2639999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32471</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.5390000000000001</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.089001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58637</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.387</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">22.358999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47588</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.0529999999999999</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.5540000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38482</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.6859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.9469999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33614</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.7240000000000002</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.813998999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50263</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5739999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.079000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42860</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.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">23.177</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">60309</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.246</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.396999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48220</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.6440000000000001</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">33.347000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">81167</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.2610000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">33.487000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61028</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.181</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.363001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">48236</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.8839999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.572001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">46061</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.7909999999999999</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.018000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68368</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.5659999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.210999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55883</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.1630000000000003</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.840999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">2180060</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.8580000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.842000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34733</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.2329999999999997</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.437000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">61021</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.976</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.856000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">377253</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.452</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.965</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35921</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1909999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.116</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33718</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.5650000000000004</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.429001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53789</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0259999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.385999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44779</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.875</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.872</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55373</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.423</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.884001000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">294884</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">8359.9150389999995</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">27.917998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">8434519</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.014</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">27.625</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55858</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.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">17.850000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0990000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.079000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41113</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.9980000000000002</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.695</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">64344</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.014</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">22.978000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">51293</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.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">8.8190000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39146</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.4489999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.9570000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32402</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.8530000000000002</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.745000999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">80670</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5270000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">28.690000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">55689</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.3899999999999997</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.6039999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40340</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.012</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0590000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.016</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34305</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.98</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">17.771999000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">54966</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.581</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">17.853000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43913</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.8700000000000001</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.725999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">83445</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.496</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.860001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57940</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">3.8889999999999998</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.966000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">129403</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.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">48.722999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">82325</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.5279999999999996</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">31.896000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">57682</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1829999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">30.670999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53710</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.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.310001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">96007</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.6560000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">37.574001000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">68447</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.3339999999999996</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.862</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42552</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.9990000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.488</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35533</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.3940000000000001</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.896000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">84969</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.1479999999999997</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">31.405000999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">59053</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.8220000000000001</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.926</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37354</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.3460000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.657999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34422</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.5519999999999996</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.552</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">58472</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.0999999999999996</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">20.527000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">47052</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.8639999999999999</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.875</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">457085</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.014</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">18.455998999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45509</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.9380000000000002</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.522998999999999</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">482696</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.7029999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">36.091000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">67083</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.6239999999999997</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.750999</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">457957</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2640000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">18.415001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">42036</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.9369999999999998</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.562000000000001</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">462099</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.6440000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">23.774000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">53544</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.3759999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">1.9039999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">6.25</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34825</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1960000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0609999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30459</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.5710000000000002</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.2249999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32049</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.335</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.959</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32130</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.3839999999999999</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.2300000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31851</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.012999999999999999</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">7.9980000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28964</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.5790000000000002</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.2149999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32109</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.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">8.1050000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29343</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.4580000000000002</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.1639999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31810</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.2669999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0660000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29293</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.4700000000000002</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.2330000000000005</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31873</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.375</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.0609999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29221</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.4940000000000002</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.8609999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34486</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.339</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7080000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30042</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.9249999999999998</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.859</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44655</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.0089999999999999993</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">2.5699999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.5499999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34324</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.1000000000000001</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">7.7930000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34063</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.9670000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.6920000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29708</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.1800000000000002</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.279</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41018</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.014999999999999999</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">10.058</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33738</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.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">8.3569999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32598</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.012999999999999999</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">8.1549999999999994</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29249</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.5019999999999998</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">32352</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.014</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">8.2639999999999993</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29588</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.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">8.1340000000000003</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32305</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.012999999999999999</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">7.952</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29312</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.4129999999999998</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.7889999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31686</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.0950000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.6269999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28547</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.4140000000000001</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.8070000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31728</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.218</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.7619999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29006</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.5499999999999998</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.486000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3820000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.201000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.5640000000000001</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.339</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43103</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.014</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">13.167999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37453</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.7469999999999999</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.3170000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32423</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.014</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">8.1310000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29453</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.5249999999999999</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.7709999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31482</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.014</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">7.7050000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">28804</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.4889999999999999</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.324</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">37338</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.4420000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">13.220000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35050</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.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">8.1910000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35130</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.544</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.9779999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30576</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.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.343</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32840</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.012</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">10.303000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31402</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.673</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.3620000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32271</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5009999999999999</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">29586</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.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">8.2669999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32131</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.012999999999999999</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">8.1189999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29403</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.6869999999999998</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.789</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44321</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.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">13.531000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38800</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.5870000000000002</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.710000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40122</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3260000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.378</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34438</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.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">10.199</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44288</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.012999999999999999</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">10.076000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40949</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.7160000000000002</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">9.1769999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33206</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5880000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0199999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30433</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.5599999999999996</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.1319999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34005</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.2279999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.0099999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31199</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.2069999999999999</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.7870000000000008</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35289</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">5.0750000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5730000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32654</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.5570000000000004</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.7609999999999992</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33567</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.4569999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4149999999999991</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31867</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">249.23599200000001</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.9429999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">279419</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">4.5800000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4429999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32007</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.778</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.2140000000000004</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32095</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.5859999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">7.9329999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29359</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.5009999999999999</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.7859999999999996</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32526</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.367</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6549999999999994</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.7519999999999998</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.0399999999999991</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33096</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.2389999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">8.6579999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">29816</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.9769999999999999</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.315</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">50806</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.010999999999999999</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">9.9900000000000002</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39466</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.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.300000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40086</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">3.121</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.103</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33987</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.1549999999999998</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.303000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39664</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">2.96</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.117000000000001</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.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.3370000000000002</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.259</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40078</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.014</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">10.106999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33967</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.2029999999999998</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.313000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39694</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.014</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">10.207000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33868</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.3100000000000001</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.365</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">40053</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.014</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">10.141</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34073</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.2109999999999999</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.5609999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33078</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">3.1299999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.4139999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30409</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.0080000000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">1.1339999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20906</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.010999999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">0.97999999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">18554</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">1.0209999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">20914</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.014</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.0309999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <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.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.355</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.228</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39617</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.012999999999999999</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">10.182</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34071</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.2000000000000002</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.311999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33909</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">3.1739999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.164999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31687</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.3100000000000001</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.512</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39954</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.1379999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.366</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34187</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.5179999999999998</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.275</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34244</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.014</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1720000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.194000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31545</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.4049999999999998</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.311</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34069</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.014999999999999999</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.147</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31391</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.302</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.302</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33937</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.016</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">10.241</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31361</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.4420000000000002</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.535</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41825</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3079999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.263999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35754</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.4660000000000002</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.587999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">43263</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.4689999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.416</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36961</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.4700000000000002</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.417999999999999</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34284</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.012999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.1960000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.259</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32691</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.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">9.6319999999999997</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33293</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.0209999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">9.5419999999999998</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">30500</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.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">12.542</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">36518</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.3239999999999998</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">12.317</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34023</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.5139999999999998</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.175000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41445</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.012999999999999999</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">10.884</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35457</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.2970000000000002</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.5020000000000007</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38566</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.014</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.3629999999999995</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">33147</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.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">10.364000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34146</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">3.2189999999999999</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.304</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">32773</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.4399999999999999</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.345000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">34165</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.2290000000000001</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">10.114000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">31628</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.5609999999999999</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.85</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45516</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.014</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">13.787000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39163</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.593</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.521000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">41925</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.014999999999999999</Number>
    <Number Name="FragmentCompileTime" Description="Fragment shader compile time" Unit="ms" Tag="Time">3.3250000000000002</Number>
    <Number Name="LinkTime" Description="Link time" Unit="ms" Tag="Time">11.19</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">35713</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.3279999999999998</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.329000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39476</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.014999999999999999</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">10.127000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">39328</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.863</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.698</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">45550</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.012999999999999999</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">12.640000000000001</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">38746</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.718</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.475</Number>
    <ImageSet Name="ComparisonResult" Description="Image comparison result"/>
    <Number Name="TestDuration" Description="Test case duration in microseconds" Unit="us" Tag="Time">44508</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 compi