1. 16 Dec, 2018 2 commits
    • Revert "Load correct libGLESv2 on Linux and Mac." · 175d918a
      Yuly Novikov authored
      This reverts commit dd815b62.
      
      Reason for revert: Broke https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/win-rel/8006
      
      Original change's description:
      > Load correct libGLESv2 on Linux and Mac.
      > 
      > libEGL was implicitly loading libGLESv2 on startup. This is bad
      > because on platforms like Linux and Mac we could sometimes use the
      > incorrect rpath. This in turn meant we needed workarounds like using
      > "_angle" extensions to our shared objects to get the correct loading
      > behaviour.
      > 
      > Fix this by loading libGLESv2 dynamically in libEGL. We build the
      > loader automatically from egl.xml. The loader itself is lazily
      > initialized on every EGL entry point call. This is necessary because
      > on Linux, etc, there is no equivalent to Windows' DLLMain.
      > 
      > We also use an EGL.h with different generation options so we have the
      > proper function pointer types. A README is included for instructions
      > on how to regenerate EGL.h.
      > 
      > The entry point generation script is refactored into a helper class
      > that is used in the loader generator. Also adds the libGLESv2 versions
      > of the EGL entry points in the DEF file on Windows. This allows them to
      > be imported properly in 32-bit configurations.
      > 
      > Also fixes up some errors in ANGLE's entry point definitions. Also
      > includes a clang-format disable rule for the Khronos headers.
      > 
      > This CL will help us to run ANGLE tests against native drivers.
      > 
      > Bug: angleproject:2871
      > Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
      > Reviewed-on: https://chromium-review.googlesource.com/c/1370725
      > Commit-Queue: Jamie Madill <jmadill@chromium.org>
      > Reviewed-by: Geoff Lang <geofflang@chromium.org>
      
      TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
      
      Change-Id: I921b3c45435ab4f05cbc2d1c1172b4185d6257b0
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: angleproject:2871
      Reviewed-on: https://chromium-review.googlesource.com/c/1378887Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    • Load correct libGLESv2 on Linux and Mac. · dd815b62
      Jamie Madill authored
      libEGL was implicitly loading libGLESv2 on startup. This is bad
      because on platforms like Linux and Mac we could sometimes use the
      incorrect rpath. This in turn meant we needed workarounds like using
      "_angle" extensions to our shared objects to get the correct loading
      behaviour.
      
      Fix this by loading libGLESv2 dynamically in libEGL. We build the
      loader automatically from egl.xml. The loader itself is lazily
      initialized on every EGL entry point call. This is necessary because
      on Linux, etc, there is no equivalent to Windows' DLLMain.
      
      We also use an EGL.h with different generation options so we have the
      proper function pointer types. A README is included for instructions
      on how to regenerate EGL.h.
      
      The entry point generation script is refactored into a helper class
      that is used in the loader generator. Also adds the libGLESv2 versions
      of the EGL entry points in the DEF file on Windows. This allows them to
      be imported properly in 32-bit configurations.
      
      Also fixes up some errors in ANGLE's entry point definitions. Also
      includes a clang-format disable rule for the Khronos headers.
      
      This CL will help us to run ANGLE tests against native drivers.
      
      Bug: angleproject:2871
      Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
      Reviewed-on: https://chromium-review.googlesource.com/c/1370725
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
  2. 15 Dec, 2018 2 commits
  3. 14 Dec, 2018 7 commits
  4. 13 Dec, 2018 2 commits
  5. 12 Dec, 2018 6 commits
  6. 11 Dec, 2018 3 commits
  7. 10 Dec, 2018 2 commits
  8. 08 Dec, 2018 2 commits
  9. 07 Dec, 2018 6 commits
  10. 06 Dec, 2018 4 commits
  11. 05 Dec, 2018 4 commits
    • Vulkan: Add DispatchUtilsVK · 8f1b7a66
      Shahbaz Youssefi authored
      This class provides a set of compute-based internal utilities.
      Currently, buffer clear and copy are implemented.  Other possibilities
      include more efficient mip map generation, or specialized texture
      operations.
      
      VertexArrayVk::updateIndexTranslation() is updated to convert the
      GL_UNSIGNED_BYTE index buffer to a GL_UNSIGNED_SHORT one using this
      class to avoid a CPU readback.
      
      The vk::Format class is augmented with a few flags (IsInt, IsUnsigned)
      to be able to select the appropriate shader based on the format (float,
      int or uint).
      
      Bug: angleproject:2958,angleproject:3003
      Change-Id: Ie35519deb3c32a3da5ccf74080c70092c9287f0a
      Reviewed-on: https://chromium-review.googlesource.com/c/1336307
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Enhance ANGLE for Android Developer Options · fdccaa3a
      Tim Van Patten authored
      Update ANGLE Developer Options
      
      Update ANGLE developer options to allow selecting the OpenGL driver
      (default, ANGLE, native) for each app as well as forcing ANGLE for all
      apps.
      
      Bug: angleproject:2962
      Test: Verify the default/ANGLE/native values are saved and applied and
      used by the loader.
      
      Change-Id: I6737b11bc061318cf8438c8161593ca70239590f
      Reviewed-on: https://chromium-review.googlesource.com/c/1354101Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Tim Van Patten <timvp@google.com>
    • Vulkan: Fix ASTC_12x12_SRGB_BLOCK support · eae081c6
      Shahbaz Youssefi authored
      A typo in the .json file made this format unavailable.
      
      Bug: angleproject:2357
      Change-Id: I3214c6d8a00d9fa731573347b06bded8fb57a918
      Reviewed-on: https://chromium-review.googlesource.com/c/1359619
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Fix format properties queries · 96bd8fdf
      Shahbaz Youssefi authored
      When querying format properties (in vk::GetFormatProperties), the
      mandatory feature support table was consulted to check whether a number
      of texture features are present.  If so, the entry from that table was
      returned.  The goal had been to speed up initialization by not issuing
      device queries if possible.
      
      That is, when vk::GetFormatProperties was called on a format, if it
      supported that select few texture features, the VkFormatProperties entry
      from the mandatory table would be returned.
      
      However, that function found its way to other uses (such as querying
      buffer format properties, or other image properties beyond the select
      few).  As a result, when the VkFormatProperties from the mandatory table
      was returned, actual support for these other features was often not
      tested and assumed false (unless they happened to be mandatory as well).
      
      This commit reworks the format feature query functions such that the
      specific features to be tested are provided when querying the format
      properties.  The mandatory table is consulted as before, and if the
      entry doesn't contain those features, the device is queried and the
      results cached.
      
      Bug: angleproject:2958
      Change-Id: I28d046eb63c3bd5173468aa4cb3e4c63c83e67b1
      Reviewed-on: https://chromium-review.googlesource.com/c/1357152Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>