• Show log

    Commit

  • Hash : a8ff8814
    Author : Tobin Ehlis
    Date : 2019-03-05T07:06:32

    Vulkan:Optimize SecondaryCommandBuffers
    
    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: Jamie Madill <jmadill@chromium.org>
    Change-Id: I621d8f8893308fca240b32390928e8ba0036cf06
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535385
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg thodg_l
    Tags