1. 12 Sep, 2019 4 commits
  2. 11 Sep, 2019 5 commits
  3. 10 Sep, 2019 4 commits
  4. 09 Sep, 2019 6 commits
  5. 07 Sep, 2019 1 commit
  6. 06 Sep, 2019 4 commits
  7. 05 Sep, 2019 6 commits
  8. 04 Sep, 2019 5 commits
  9. 03 Sep, 2019 5 commits
    • Use TransformFeedbackID in place of GLuint handle · c3f7873b
      Jiacheng Lu authored
      Bug: angleproject:3804
      Change-Id: Ib8fbec89f28645790df98a184f47303f4a8d64c1
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779343
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>
    • Use VertexArrayID in place of GLuint handle · feb8507f
      Jiacheng Lu authored
      Bug: angleproject:3804
      Change-Id: I0454533eff13218a6aa1e1672ffcd0e76aedb399
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769716
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Reland "Vulkan: Debug overlay" · 050b124d
      Shahbaz Youssefi authored
      This is a reland of e54d0f90
      
      This was reverted due to a build failure as a result of a missing
      virtual destructor in the widget base class.
      
      Original change's description:
      > Vulkan: Debug overlay
      >
      > A debug overlay system for the Vulkan backend designed with efficiency
      > and runtime configurability in mind.  Overlay widgets are of two
      > fundamental types:
      >
      > - Text widgets: A single line of text with small, medium or large font.
      > - Graph widgets: A bar graph of data.
      >
      > Built on these, various overlay widget types are defined that gather
      > statistics.  Five such types are defined with one widget per type as
      > example:
      >
      > - Count: A widget that counts something.  VulkanValidationMessageCount
      >   is an overlay widget of this type that shows the number of validation
      >   messages received from the validation layers.
      > - Text: A generic text.  VulkanLastValidationMessage is an overlay
      >   widget of this type that shows the last validation message.
      > - PerSecond: A value that gets reset every second automatically.  FPS is
      >   an overlay widget of this type that simply gets incremented on every
      >   swap().
      > - RunningGraph: A graph of last N values.  VulkanCommandGraphSize is an
      >   overlay of this type.  On every vkQueueSubmit, the number of nodes in
      >   the command graph is accumulated.  On every present(), the value is
      >   taken as the number of nodes for the whole duration of the frame.
      > - RunningHistogram: A histogram of last N values.  Input values are in
      >   the [0, 1] range and they are ranked to N buckets for histogram
      >   calculation.  VulkanSecondaryCommandBufferPoolWaste is an overlay
      >   widget of this type.  On vkQueueSubmit, the memory waste from command
      >   buffer pool allocations is recorded in the histogram.
      >
      > Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
      > processes to create an array of bits, which is processed at runtime to
      > create the actual font image (an image with 3 layers).
      >
      > The overlay widget layout is defined in overlay_widgets.json which
      > gen_overlay_widgets.py processes to generate an array of widgetss, each
      > of its respective type, and sets their properties, such as color and
      > bounding box.  The json file allows widgets to align against other
      > widgets as well as against the framebuffer edges.
      >
      > Two compute shaders are implemented to efficiently render the UI:
      >
      > - OverlayCull: This shader creates a bitset of Text and Graph widgets
      >   whose bounding boxes intersect a corresponding subgroup processed by
      >   OverlayDraw.  This is done only when the enabled overlay widgets are
      >   changed (a feature that is not yet implemented) or the surface is
      >   resized.
      > - OverlayDraw: Using the bitsets generated by OverlayCull, values that
      >   are uniform for each workgroup (set to be equal to hardware subgroup
      >   size), this shader loops over enabled widgets that can possibly
      >   intersect the pixel being processed and renders and blends in texts
      >   and graphs.  This is done once per frame on present().
      >
      > Currently, to enable overlay widgets an environment variable is used.
      > For example:
      >
      >     $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
      >     $ ./hello_triangle --use-angle=vulkan
      >
      > Possible future work:
      >
      > - On Android, add settings in developer options and enable widgets based
      >   on those.
      > - Spawn a small server in ANGLE and write an application that sends
      >   enable/disable commands remotely.
      > - Implement overlay for other backends.
      >
      > Bug: angleproject:3757
      > Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
      > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
      > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      > Reviewed-by: Jamie Madill <jmadill@chromium.org>
      
      Bug: angleproject:3757
      Change-Id: I47915d88b37b6f882c686c2de13fca309a10b572
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780897Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    • ANGLE test fixture leaking. · 03f93cf0
      Mingyu Hu authored
      Adding code in ANGLETestEnvironment::TearDown() to release fixtures if exists.
      
      Bug: angleproject:3875
      Change-Id: I0d6ad9b8c72937b20a4c3033b86eb667b546e0c3
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778841Reviewed-by: 's avatarRafael Cintron <rafael.cintron@microsoft.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    • Update status of ES3.1 on Vulkan · 43766003
      Shahbaz Youssefi authored
      Bug: angleproject:1944
      Change-Id: I238843992381c4dab60cca7f1552d8db82f2b0f0
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779207Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>