1. 23 Feb, 2016 6 commits
  2. 22 Feb, 2016 5 commits
  3. 19 Feb, 2016 1 commit
  4. 18 Feb, 2016 5 commits
  5. 17 Feb, 2016 1 commit
  6. 15 Feb, 2016 2 commits
    • Use texture base level to implement textureSize on D3D11 HLSL · bce743ab
      Olli Etuaho authored
      HLSL GetDimensions call doesn't take the texture base level into account,
      so ANGLE needs to use the texture base level passed in uniforms to
      emulate ESSL textureSize() which does take it into account.
      
      After this change the relevant dEQP tests pass on NVIDIA, Intel is still
      suffering from an issue where a wrong value is returned when the lod
      is > 0 (tested on Intel HD Graphics 4600). AMD is also suffering from an
      unknown issue.
      
      BUG=angleproject:596
      TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
           (all pass on NVIDIA now), angle_end2end_tests
      
      Change-Id: I13e33d126008ecdf2b89461a3fb5040949cf19e2
      Reviewed-on: https://chromium-review.googlesource.com/322123Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • Pass texture base level to shaders on D3D11 · 618bebcd
      Olli Etuaho authored
      The base level is passed to shaders in an array included in the driver
      uniform block. This is done on feature levels above 9_3, which treat
      samplers as indices to sampler arrays in shaders.
      
      A separate uniform block couldn't be used for the sampler metadata,
      since that would bring the number of available uniform blocks down to
      below minimum level defined by GLES 3.0.
      
      BUG=angleproject:596
      TEST=angle_end2end_tests
      
      Change-Id: Ie040521402f9996d51a978aeeba9222e9dd761ce
      Reviewed-on: https://chromium-review.googlesource.com/326290Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
  7. 13 Feb, 2016 1 commit
  8. 12 Feb, 2016 2 commits
  9. 11 Feb, 2016 5 commits
  10. 10 Feb, 2016 1 commit
  11. 09 Feb, 2016 9 commits
  12. 08 Feb, 2016 2 commits
    • Replace '> >' with '>>' · 1eabcf41
      Corentin Wallez authored
      BUG=angleproject:1308
      
      Change-Id: I00bd2ea939b633817662205eb7879efb7f99965f
      Reviewed-on: https://chromium-review.googlesource.com/326400Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
    • Re-land "Implement EGL_experimental_present_path_angle" · 2a63b3f8
      Austin Kinross authored
      - Re-land with clang fix.
      
      This allows ANGLE to render directly onto a D3D swapchain in the correct
      orientation when using the D3D11 renderer.
      
      The trick is to add an extra uniform to each shader which takes either
      the value +1.0 or -1.0. When rendering to a texture, ANGLE sets this
      value to -1.0. When rendering to the default framebuffer, ANGLE sets
      this value to +1.0. ANGLE multiplies vertex positions by this value in
      the VS to invert rendering when appropriate. It also corrects other
      state (e.g. viewport/scissor rect) and shader built-in values
      (e.g. gl_FragCoord).
      
      This saves a substantial amount of GPU time and lowers power
      consumption. For example, the old method (where ANGLE renders all
      content onto an offscreen texture, and then copies/inverts this onto the
      swapchain at eglSwapBuffers() time) uses about 20% of the GPU each frame
      on a Lumia 630.
      
      Verification:
      + dEQP GL ES2 tests pass when "present path fast" is enabled
      + all ANGLE_end2end_tests pass when "present path fast" is enabled
      
      BUG=angleproject:1219
      
      Change-Id: I56b339897828753a616d7bae837a2f354dba9c63
      Reviewed-on: https://chromium-review.googlesource.com/326730
      Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
      Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>