1. 05 Jul, 2017 9 commits
    • Update eglext.h. · 88f18d01
      Jamie Madill authored
      Also move the ANGLE modifications to eglext.h to a separate file
      so we can more easily update and maintain the official header.
      
      This is in preparation for adding the new program cache control
      extension.
      
      BUG=angleproject:1897
      
      Change-Id: I3546e0c82f6536381301f62a115b42d580747a08
      Reviewed-on: https://chromium-review.googlesource.com/559917
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Clip TextureD3D_2D::copyImage to framebuffer. · 95ba174e
      Frank Henigman authored
      WebGL CopyTexImage needs to zero the part of the texture corresponding
      to area outside the framebuffer, so we zero the whole texture then clip
      the read area.
      The clipping also avoids problems with code lower down that isn't prepared
      for read areas not entirely within the framebuffer.
      
      Enable corresponding test.
      
      BUG=angleproject:1815
      
      Change-Id: Ia7e0243ca72fa7c8f5bacda4d2022061d6a6d4f0
      Reviewed-on: https://chromium-review.googlesource.com/551056Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    • Improve Debugging Strings · 6cad5667
      Brandon Jones authored
      This change replaces common string literals used for
      error messages with const string variables mapped in
      a new header file.
      
      Additionally, more validation for WebGL naming scenarios
      has been added, along with unit tests.
      
      BUG=:angleproject:1644
      
      Change-Id: Icff44a456aa78221c6df12b0454a7cc147a7d26e
      Reviewed-on: https://chromium-review.googlesource.com/535974
      Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Clip FramebufferGL::readPixels to framebuffer. · fa36c330
      Frank Henigman authored
      In GL, ReadPixels() is allowed to modify memory that corresponds to
      pixels outside the framebuffer.
      In WebGL it must not do that, so clip the read area to the framebuffer.
      
      Enable corresponding test.
      
      BUG=angleproject:1815
      
      Change-Id: I8113ae417dee7834e63498aec8291ce711bd7513
      Reviewed-on: https://chromium-review.googlesource.com/536434
      Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • HLSL: Disambiguate between struct function parameters · 088031e6
      Olli Etuaho authored
      Structs with different names but identical members are treated as
      ambiguous by the native HLSL compiler when looking up user-defined
      functions. Add the struct name to the function name to work around
      this limitation.
      
      BUG=chromium:731324
      TEST=angle_end2end_tests
      
      Change-Id: Ie80ac0f1374bc5ac05dfebef3f94e2da7cdfc581
      Reviewed-on: https://chromium-review.googlesource.com/558929
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Re-land: Don't expose non-conformant multisampling modes on GL · 50c562de
      Olli Etuaho authored
      Re-landing with a fallback for failed internal format queries to work
      around issue seen on Shield TV. Also fixed wrong handling of integer
      RG formats in isRequiredRenderbufferFormat.
      
      Some NVIDIA GL drivers expose non-conformant multisampling modes. The
      conformance of multisampling modes can be queried using the extension
      NV_internalformat_sample_query. Use it to filter out the
      non-conformant modes from the modes that are exposed by ANGLE.
      
      The MAX_SAMPLES value and other similar values stored in caps also
      need to be lowered to match the maximum number of samples exposed
      for required formats.
      
      There seems to be an NVIDIA driver bug related to querying
      STENCIL_INDEX8 multisample format. Work around this by querying
      DEPTH24_STENCIL8 instead.
      
      There's also some confusion around whether RGB9_E5 should be
      renderable. Once the floating point texture extensions got rolled
      into the core GL spec, it was eventually made clear that RGB9_E5
      is intended not to be renderable. The extension specs that predate
      float textures in the core spec do suggest that it would be
      renderable, but in practice drivers that advertise the extension
      strings don't reliably implement RGB9_E5 as renderable. Solve this
      by disabling it as a renderable format and adding an explanatory
      comment.
      
      BUG=chromium:682815
      TEST=angle_end2end_tests,
           dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
      
      Change-Id: I727f03045a1534d6764b571e6d839243705d25b3
      Reviewed-on: https://chromium-review.googlesource.com/551957Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Temporarily disable the GPU program cache. · a5822b8a
      Jamie Madill authored
      We should give the app layer more control over the cache before we
      enable it, to save on memory usage in Chrome.
      
      BUG=angleproject:1897
      
      Change-Id: I532c05c3042cb0a2d9c62f362f25d6064042ca2c
      Reviewed-on: https://chromium-review.googlesource.com/558370
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Re-apply UBO binding workaround on program save. · 27a60631
      Jamie Madill authored
      The workaround which was previously defined to only apply on load
      also seems to affect save on some AMD drivers.
      
      BUG=angleproject:1637
      BUG=angleproject:1897
      
      Change-Id: Ia01a1420a484f3c2682ce97eaab18baccfb66a50
      Reviewed-on: https://chromium-review.googlesource.com/558008Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Clean up redundant initialization of gl_Position · b12040c4
      Olli Etuaho authored
      In case gl_Position is statically used in the input shader, setting
      the INIT_OUTPUT_VARIABLES flag will initialize gl_Position. Avoid
      redundant initialization of gl_Position in this case.
      
      Includes cleaning up memory management in InitOutputVariables_test:
      all the pool-allocated variables will be freed at the end of each test
      when the memory pool is cleared, so manual memory management is not
      needed.
      
      Also includes making the zero node check used in unit tests stricter
      so that the tests are more reliable and moving it to
      ShaderCompileTreeTest.h so that it can be reused in the future.
      
      BUG=angleproject:2092
      TEST=angle_unittests
      
      Change-Id: I323a0a094afa6cea95c8a64e681d9fc485137423
      Reviewed-on: https://chromium-review.googlesource.com/549418
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 04 Jul, 2017 3 commits
  3. 03 Jul, 2017 2 commits
  4. 30 Jun, 2017 5 commits
  5. 29 Jun, 2017 5 commits
  6. 28 Jun, 2017 7 commits
  7. 27 Jun, 2017 6 commits
  8. 23 Jun, 2017 3 commits