1. 17 Dec, 2018 1 commit
    • ES31: Add atomic memory functions for SSBO · 4622905b
      Qin Jiajia authored
      Due to SSBO is translated to RWByteAddressBuffer in HLSL, the corresponding
      atomic memory functions atomic* will be translated to
      RWByteAddressBuffer.Interlocked*. The translation is like below:
      
      atomicAdd(instanceName.data[0], 5u);
      // becomes
      uint _ssbo_atomicAdd_uint(RWByteAddressBuffer buffer, uint loc, uint value)
      {
          uint original_value;
          buffer.InterlockedAdd(loc, value, original_value);
          return original_value;
      }
      
      _ssbo_atomicAdd_uint(_instanceName, 0 + 16 * 0, 5);
      
      Bug: angleproject:1951
      
      Change-Id: If2af8bedb67a4135b443d2512d43c6058a78888d
      Reviewed-on: https://chromium-review.googlesource.com/c/1370676Reviewed-by: 's avatarCorentin Wallez <cwallez@chromium.org>
      Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
  2. 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>
  3. 15 Dec, 2018 2 commits
  4. 14 Dec, 2018 7 commits
  5. 13 Dec, 2018 2 commits
  6. 12 Dec, 2018 6 commits
  7. 11 Dec, 2018 3 commits
  8. 10 Dec, 2018 2 commits
  9. 08 Dec, 2018 2 commits
  10. 07 Dec, 2018 6 commits
  11. 06 Dec, 2018 4 commits
  12. 05 Dec, 2018 3 commits