1. 29 Mar, 2019 3 commits
  2. 28 Mar, 2019 18 commits
  3. 27 Mar, 2019 4 commits
  4. 26 Mar, 2019 7 commits
  5. 25 Mar, 2019 4 commits
  6. 23 Mar, 2019 3 commits
  7. 22 Mar, 2019 1 commit
    • Vulkan:Optimize SecondaryCommandBuffers · a8ff8814
      Tobin Ehlis authored
      RELAND of this commit. Had to fix fuzzer build errors.
      
      Optimize performance of SecondaryCommandBuffers and enable them as the
      default build option.
      To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
      your build args.
      
      This CL enhances the PoolAllocator to have a "fast" mode that can
      be enabled at class creation. This mode uses an alignment of 1 byte and
      enables a fastAllocation() call that avoids some bookkeeping overhead.
      The SecondaryCommandBuffer uses this fastAllocation() function.
      Furthermore the fast path of fast allocate, using the current page,
      is inlined for maximum speed.
      Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
      blocks so that the commands occur linearly in memory. This speeds up
      processing with improved cache coherency and minimizes overhead when
      recording commands.
      Also the core Draw functions and their state updates are all inlined
      as well as the common functions to initialize commands and to copy
      command pointer data.
      
      This change also includes some new, custom commands. One is
      imageBarrier that is a specialized version of pipelineBarrier that only
      performs a single image layout transition.
      There are customized versions of various Draw commands to minimize
      copying of parameters.
      There are also specialized commands to bind[Graphics|Compute]Pipeline
      that have the pipeline type built in to the command.
      More custom commands and command data size optimizations will be made
      in follow-on commits.
      
      Bug: angleproject:3136
      
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
      Commit-Queue: Tobin Ehlis <tobine@google.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Change-Id: I621d8f8893308fca240b32390928e8ba0036cf06
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535385Reviewed-by: 's avatarTobin Ehlis <tobine@google.com>