1. 05 Jul, 2017 5 commits
    • 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 5 commits
  9. 22 Jun, 2017 2 commits