1. 26 Nov, 2018 3 commits
    • GL: Implement GL_NV_fence on top of GLsync objects. · 617103ed
      Geoff Lang authored
      When ANGLE exposes an ES2 context, there is often no way to create fence
      objects because GL_NV_fence is not available.
      
      BUG=882580
      
      Change-Id: Ic18539e0243317a188545f3945f6b33d3401f1a8
      Reviewed-on: https://chromium-review.googlesource.com/c/1348769Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Commit-Queue: Geoff Lang <geofflang@chromium.org>
    • Don't generate TypeInfo objects as static objects within GetTypeInfo function · 0d665139
      Markus Tavenrath authored
      Generating static objects within a function results in multithread safe
      code. This code generates the static objects upon the first execution of the
      line which declares the object. This results in high runtime cost for
      synchronization and a bigger code size.
      
      Instead introduce a new function uint32_t GetPackedTypeInfo(GLenum type)
      which returns a packed representation for the Type class. This
      representation is usually returned in a register on the assembly level.
      As a result we save constant storage for the TypeInfo object and one
      indirection when reading any value from this object. The Type constructor
      accepts the packed representation and unpacks it an inline function. For
      fields which are not used the compiler also applies dead code
      elimination which reduces the cost furthermore.
      
      As a result of this change the cost of GetTypeInfo is reduced by a
      factor of 4-5.
      
      Bug: angleproject:2974
      Change-Id: I8ed0bf2f09d087fa4cffa04f82e3b7f8c183fe30
      Reviewed-on: https://chromium-review.googlesource.com/c/1340221Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Debug: Add Systrace Markers · 573f76b3
      Tobin Ehlis authored
      Update ScopedPerfEventHelper class to add systrace markers by default.
      This change unifies ANGLE EVENT* macro system so that at the base level
      in LoggingAnnotator class, systrace markers will be added by default.
      
      Modify the base DebugLogger to use char* by default and move any
      conversions to wchar_t to the Windows specializations where wchar is
      used. This limits type conversions to only where they're needed.
      
      This change also includes some new TRACE_EVENT() calls in the VK
      backend which will result in systrace markers for those calls on the
      Android platform.
      
      The new build flag "angle_enable_trace" is added to enable the tracing
      calls.
      
      Bug: angleproject:2528
      Change-Id: Icefc197d4407e1cd31338710e37865abae6a0b15
      Reviewed-on: https://chromium-review.googlesource.com/c/1042785
      Commit-Queue: Tobin Ehlis <tobine@google.com>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
  2. 23 Nov, 2018 1 commit
  3. 22 Nov, 2018 4 commits
  4. 21 Nov, 2018 3 commits
  5. 20 Nov, 2018 6 commits
  6. 19 Nov, 2018 3 commits
  7. 18 Nov, 2018 2 commits
  8. 16 Nov, 2018 8 commits
  9. 15 Nov, 2018 7 commits
  10. 14 Nov, 2018 3 commits