1. 18 Oct, 2018 8 commits
  2. 17 Oct, 2018 7 commits
    • perftests: Record trace events to JSON file. · 4024e217
      Jamie Madill authored
      This allows us to view the timeline of events in the trace event
      browser. We can extend this to do GPU timestamp queries and analyze
      when work is actually in flight.
      
      The trace is enabled in standalone ANGLE only using the flag
      --enable-trace with angle_perftests. You can also optionally specify
      the trace output file with --trace-file <blah>. The default file is
      ANGLETrace.json.
      
      Bug: angleproject:2781
      Change-Id: I871f28545d9bf18220b55aaf69e9554dcb4c834d
      Reviewed-on: https://chromium-review.googlesource.com/c/1259763
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
    • Vulkan: Implement glFlush · 3a482179
      Shahbaz Youssefi authored
      A semaphore pool is implemented to allow dynamic allocation of
      semaphores as needed when breaking up a frame with flushes.  The pool is
      used both for acquiring the next image and for chaining mid-frame
      submissions.
      
      RendererVk::flush() is changed so that instead of taking the wait/signal
      semaphores as parameters, it would use the last known signaled semaphore
      as wait semaphore and allocates a semaphore for signaling.  It would
      additionally wait for any extra semaphore provided externally (i.e. the
      surface's image acquire semaphore).
      
      Bug: angleproject:2504
      Change-Id: Iecd2d5535230c48b26a6b7d078710af8730121da
      Reviewed-on: https://chromium-review.googlesource.com/c/1276805
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Use a specialized macro for wrapped vulkan calls · 6f1dc51b
      Shahbaz Youssefi authored
      Vulkan wrapper functions are fairly straightforward.  They call the
      Vulkan function and return immediately.  The specialized macros
      introduced in this commit take care of the final return for brevity of
      the warpper.
      
      Additionally, this commit gets rid of ANGLE_EMPTY_STATEMENT in favor of
      the more robust macro definition using do {} while (0).
      
      Bug: none
      Change-Id: Ia7c68962d1aeee2c06ef210122b345b1a2e54f08
      Reviewed-on: https://chromium-review.googlesource.com/c/1262020
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Roll clang and other chromium deps · 957e9b82
      Shahbaz Youssefi authored
      A bug in clang is preventing the use of link time optimization.
      
      Bug: angleproject:2892
      Change-Id: Ibe845e82f0db48233f8590189163fd8a5a8df634
      Reviewed-on: https://chromium-review.googlesource.com/c/1263905Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    • Remove unused lambda capture · c20ead32
      Takuto Ikuta authored
      This is a preparation CL to remove -Wno-unused-lambda-capture warning suppression.
      
      Bug: chromium:681136
      Change-Id: Ib5c1c4eeeed3b7406ede2dea33066c54e5fc3da0
      Reviewed-on: https://chromium-review.googlesource.com/c/1286172
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Fix deleting in-use descriptor sets. · 78bcd2be
      Jamie Madill authored
      Sequences of many frames with uniform updates could lead to a bug where
      we attempt to delete descriptor sets that are still in use. To trigger
      the bug we need to write enough uniform data to trigger a descriptor
      set to be freed. This would correctly trigger refresh sets in the
      Program. But if there was a second program idle in the background that
      also allocated descriptors from the old pool, the bug would manifest.
      
      Fix this by storing a shared handle to the descriptor pool in the
      Program. The dynamic descriptor pool won't recycle descriptor pools
      internally unless there are zero outstanding references to the pool.
      
      We could also improve this in a resource sharing situation by keeping
      a single shared dynamic descriptor pool per share group.
      
      Includes a contribution from tobine@google.com that adds a test to
      cover the bug.
      
      Bug: angleproject:2863
      Change-Id: Id585b85f33f8cfa3772ceff3af512d1e4fb0b75a
      Reviewed-on: https://chromium-review.googlesource.com/c/1271919Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
    • Re-land: "ES31: Add vector and matrix support in SSBO for D3D" · 1d8a783c
      Qin Jiajia authored
      Re-land skips ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11 to pass
      the bots. In fact, ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11 is
      not a regression. The reverted CL added more SSBO features and triggered the
      failure. To enable ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11,
      we should support SSBO in render pipeline. This needs to bind SSBO to UAV
      registers in link time instead of compile time since output variables also
      occupies the UAVs. Let's enable this test when we support SSBO in render
      pipeline. Currently, we shouldn't block the SSBO implementation in some common
      features.
      
      Bug: angleproject:1951
      Change-Id: Ic339e8327e79335e6db1d86bedf0072635976f5f
      Reviewed-on: https://chromium-review.googlesource.com/c/1282277Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
  3. 16 Oct, 2018 4 commits
  4. 15 Oct, 2018 1 commit
  5. 12 Oct, 2018 5 commits
  6. 11 Oct, 2018 1 commit
  7. 10 Oct, 2018 6 commits
  8. 09 Oct, 2018 8 commits