1. 28 Mar, 2019 17 commits
  2. 27 Mar, 2019 4 commits
  3. 26 Mar, 2019 7 commits
  4. 25 Mar, 2019 4 commits
  5. 23 Mar, 2019 3 commits
  6. 22 Mar, 2019 2 commits
    • 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>
    • Revert "Vulkan:Optimize SecondaryCommandBuffers" · 896e7811
      Jamie Madill authored
      This reverts commit 2219b18c.
      
      Reason for revert: Failing to compile on ASAN builders:
      
      https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/134782
      
      Currently blocking roll.
      
      Original change's description:
      > Vulkan:Optimize SecondaryCommandBuffers
      > 
      > 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
      > Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5
      > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
      > Commit-Queue: Tobin Ehlis <tobine@google.com>
      > Reviewed-by: Jamie Madill <jmadill@chromium.org>
      
      TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
      
      Change-Id: I1c0bfe864ff343eb8ea6c88556523f8715c981d5
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: angleproject:3136
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535998Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>
  7. 21 Mar, 2019 3 commits
    • Prevent vk shader generator from using anything but ANGLE's out. · 9e586a0f
      Jonah Ryan-Davis authored
      If ANGLE is inside some other repo but hasn't been built yet, the shader
      generator will continue to look for out dirs inside parent repos. Should
      only look within the ANGLE repo.
      
      Bug: angleproject:3227
      Change-Id: I084414f99eb3db71fe2c7ee4e59206b59f077a5a
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534462Reviewed-by: 's avatarJonah Ryan-Davis <jonahr@google.com>
      Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    • Vulkan:Optimize SecondaryCommandBuffers · 2219b18c
      Tobin Ehlis authored
      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
      Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5
      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>
    • Force new displays on each Windows 7 end2end test. · 3e8a8d5b
      Jamie Madill authored
      This should fix the buffer allocation crash manifesting on Windows 7
      x64.
      
      Bug: angleproject:3261
      Bug: chromium:944454
      Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36
      Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
      Commit-Queue: Jamie Madill <jmadill@chromium.org>