1. 19 Oct, 2020 9 commits
  2. 18 Oct, 2020 6 commits
  3. 17 Oct, 2020 5 commits
  4. 16 Oct, 2020 18 commits
  5. 15 Oct, 2020 2 commits
    • Vulkan: Fold deferred clears into current clears · e416c92a
      Shahbaz Youssefi authored
      If there are clears prior to a glClear() call, those clears were
      flushed (starting a new render pass) and then the clear call's clears
      would be applied (essentially modifying the loadOps of said render
      pass).
      
      The main downside of the above is that the current glClear() clears
      don't get a chance to be deferred.  This was observed in Chrome which
      clears an attachment with an emulated format, then switches
      framebuffers.
      
      Additionally, if the render pass had already been started, the deferred
      clears could have become inlined instead of breaking the render pass.
      Although, it's unlikely for there to be deferred clears when the render
      pass is already open.
      
      This change first identifies which clears need to go through the draw
      path (scissored, masked or as workaround for driver bug).  It merges the
      rest of the clears (that don't need the draw path) with the deferred
      clears.  It then checks deferred clears and applies them by either:
      
      - vkCmdClearAttachments if mid RP
      - Start a new render pass and use loadOps, if any draw-based clear needs
        to follow.
      - Modify current RP loadOps / defer the clear
      
      Afterwards, the draw-based clears are applied.
      
      Bug: angleproject:4836
      Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarCharlie Lao <cclao@google.com>
    • GLX, EGL: Support NV_robustness_video_memory_purge · 96a49a48
      Jonah Ryan-Davis authored
      Chrome is showing rendering issues on Linux/Nvidia after returning from
      the lock screen. This could be related to the fact that Nvidia drivers
      are not able to guarantee conformance after certain events.
      By exposing this extension, we can instruct Chrome to reinitialize
      contexts after they are purged by the driver. If this is not explicitly
      requested, we can still generate an UnknownContextReset to tell apps
      to discard the invalid context anyway.
      
      Bug: chromium:1113040
      Change-Id: Ie99b6356cc27fea33643d61b1d74f4f68a271d70
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2453689Reviewed-by: 's avatarKenneth Russell <kbr@chromium.org>
      Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org>
      Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>