1. 25 Jan, 2018 2 commits
    • Add ImmutableString to encapsulate some compiler strings · 2d8e432a
      Olli Etuaho authored
      The new ImmutableString class is intended to be used instead of plain
      const char pointers to pool-allocated or static memory.
      
      It has the following advantages over using plain const char pointers:
      
      1. It makes it clear when a string is guaranteed to be safe to pass
         around inside the compiler.
      2. It can be compared with a comparison operator rather than using
         strcmp, which is easier to read.
      3. It records the length of the stored string, which enables faster
         copies and comparisons in some cases.
      4. ImmutableStrings could be implicitly converted from std::strings
         when a pool-allocated string is required. This is robust and
         convenient.
      
      C++17 has a similar class std::string_view, but our code style doesn't
      allow it yet. We also couldn't use it as is if we require properties
      1 and 4 from above, but would rather need to inherit or wrap it in a
      custom class.
      
      Eventually all current usage of TString could be replaced with
      ImmutableString. For now, use it for unmangled built-in names.
      
      TEST=angle_unittests
      BUG=angleproject:2267
      
      Change-Id: Id60c7b544032e06460e1b99837e429bc84dc4367
      Reviewed-on: https://chromium-review.googlesource.com/881020
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Fix DebugReportCallback definition · 2e551f6b
      Yuly Novikov authored
      Fixes 32bit Android build
      
      BUG=angleproject:2314
      
      Change-Id: I55e8fc8ee3ffa6397e6612ccf43c67e4a7a9dc75
      Reviewed-on: https://chromium-review.googlesource.com/885504Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
  2. 24 Jan, 2018 11 commits
  3. 23 Jan, 2018 2 commits
    • Allow creating EGL pbuffers from typeless D3D textures · d66e1939
      Olli Etuaho authored
      A new extension EGL_ANGLE_d3d_typeless_texture_client_buffer is added
      that allows creating EGL pbuffers from typeless D3D textures.
      
      The extension increases the flexibility of the API compared to plain
      EGL_ANGLE_D3D_texture_client_buffer. The colorspace for the created
      EGL pbuffer can be set by using the EGL_GL_COLORSPACE attribute.
      Internally this sets the ANGLE format of the buffer. There are new
      ANGLE formats that are used specifically for typeless textures,
      separate ones for SRGB and linear views into the D3D textures.
      
      The extension is only supported on the D3D11 backend of ANGLE.
      
      BUG=angleproject:2300
      TEST=angle_white_box_tests
      
      Change-Id: I6a6cb873d2cc0dca0b7f18a0f2cd35e7bafcb7d8
      Reviewed-on: https://chromium-review.googlesource.com/873917Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    • Add const qualification to symbol accesses · dd21ecf8
      Olli Etuaho authored
      All accesses to built-in symbols now happen through const-qualified
      pointers.
      
      This also encapsulates TSymbolTableLevel inside TSymbolTable.
      
      This prepares for statically allocating built-in symbols.
      
      BUG=angleproject:2267
      TEST=angle_unittests
      
      Change-Id: I473014d978daa765b4a733d761d6c08b28288776
      Reviewed-on: https://chromium-review.googlesource.com/859959
      Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  4. 22 Jan, 2018 2 commits
  5. 20 Jan, 2018 1 commit
  6. 19 Jan, 2018 5 commits
  7. 17 Jan, 2018 3 commits
  8. 16 Jan, 2018 4 commits
  9. 15 Jan, 2018 1 commit
  10. 12 Jan, 2018 2 commits
  11. 11 Jan, 2018 7 commits