1. 25 Jan, 2020 3 commits
    • Vulkan: Update active textures before setupDraw(). · 52ef28dc
      Jamie Madill authored
      The linear command graph prohibits rendering outside the render pass
      *after* we begin a renderpass. The prior code would render outside a
      render pass (changing image layouts) even after a RenderPass was
      started in setupDraw(). The new code changes the image layouts in
      ContextVk::syncState so we no longer need to "prepend" image layout
      changes after we started a RenderPass. Now we record layout changes
      followed by the draw calls or other renderpass ops.
      
      Bug: angleproject:4029
      Bug: angleproject:3539
      Change-Id: I420858907ac38f995400c1b566c856d966a4e979
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2015940
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>
    • Implement EGL_IMG_context_priority · 564eb6f2
      Jeff Vigil authored
      Change RendererVk to have 3 VkQueues instead of one.
      Each queue has a priority. To match extension: Low, Med, High.
      gl::Context contains priority.
      ContextVk contains a reference to one of the queues.
      Every call to vulkan that uses queue, uses the associated context queue.
      
      Bug: angleproject:3962
      Change-Id: Ibd913a07a81c77bd975921d6dbae6a222842e88b
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978154
      Commit-Queue: Jeff Vigil <j.vigil@samsung.com>
      Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Tests: Add a perf test using traces · 080d711b
      Cody Northrop authored
      This test will load traces and cycle through a set of frames.
      
      The new tests are:
      
          TracePerfTest.Run/gl_trex_200_210
          TracePerfTest.Run/gl_trex_800_810
          TracePerfTest.Run/gl_trex_900_910
          TracePerfTest.Run/gl_trex_1300_1310
      
      To download the traces, you must be granted access and authenticate
      with the cloud.  See the steps in RestrictedTraces.md for this.
      
      Then add the following to the end of your .gclient file:
      
          "custom_vars": {
            "checkout_angle_internal":"True"
          },
      
      And run `glcient runhooks`.
      
      To enable building the test, add the following GN arg:
      
          build_angle_trace_perf_tests = true
      
      See the new markdown document for ways to execute the tests.
      
      Bug: angleproject:3630
      Change-Id: Ic25cd94fb36b35fcf187e88d3bf9548c65f59755
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949605
      Commit-Queue: Cody Northrop <cnorthrop@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
  2. 24 Jan, 2020 13 commits
  3. 23 Jan, 2020 8 commits
  4. 22 Jan, 2020 14 commits
  5. 21 Jan, 2020 2 commits
    • Ignore vulkan-loader dependency for GGP · 8c396a9c
      Ethan Lee authored
      Bug: angleproject:4254
      Change-Id: If551d96941bc4aa487514ba3d8f793dcf45131e9
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982785
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    • Vulkan: Cleanup device feature query and enabling · 13205b93
      Shahbaz Youssefi authored
      All device extension features and properties queries are now performed
      in a single call for each (i.e. one for features, one for properties),
      with all the extension structs chained.  Then based on which feature is
      present (not just whether the extension is supported), the extensions
      and features are enabled.
      
      In the process, it fixes the following issues:
      
      - If VK_EXT_vertex_attribute_divisor is present, but the necessary
      vertexAttributeInstanceRateDivisor feature is not supported, that
      feature is not enabled and the emulation path is taken.  Incidentally,
      this also fixes an issue with renderdoc that refuses to replay captures
      on such devices.
      - If VK_EXT_transform_feedback is present, but the necessary
      transformFeedback feature is not supported, similarly that feature is
      not enabled and the emulation path is taken.
      
      Bug: angleproject:4306
      Bug: angleproject:4027
      Change-Id: I0969064cba811d215c37dfe551b0ceedb334051c
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2005111
      Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
      Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>