• Show log

    Commit

  • Hash : 9e3eec54
    Author : Jamie Madill
    Date : 2020-10-25T15:44:09

    Revert "Vulkan: Make DescriptorPoolHelper a Resource"
    
    This reverts commit 5dcd29a6e532e4bd617af8767d488120b57f3b2c.
    
    Reason for revert: Breaking the ANGLE -> Chromium roller:
    
    https://chromium-review.googlesource.com/c/chromium/src/+/2496281
    
    Original change's description:
    > Vulkan: Make DescriptorPoolHelper a Resource
    >
    > Descriptor pools need to live as long as the descriptor sets that are
    > allocated from them. Using Serials while building a command to judge a
    > pool's lifetime is prone to errors, since a command's Serial value
    > isn't known until the command is submitted, leading to deleting pools
    > too early relative to when the descriptor set is actually used.
    >
    > This CL updates DescriptorPoolHelper to inherit from Resource, so the
    > descriptor pools can be retain()'ed. This allows the Resource's counter
    > to indicate that a pool is in use until the command's Serial is known
    > and can be recorded to indicate when the command completes. This
    > prevents descriptor pools from being destroyed before the command
    > completes (while the descriptor sets are still in use), or even before
    > the command has been submitted. Destroying a descriptor pool resets all
    > of the descriptors that were allocated from it, which can trigger a
    > variety of VVL errors depending on when it's erroneously performed.
    >
    > This CL also adds the necessary retain() calls for the descriptor pools.
    > In particular, the pools need to be retained each time a cached
    > descriptor set that was allocated from it is re-used. This is relatively
    > simple with the current design, since we always clear the descriptor set
    > caches whenever a new pool is allocated, so the descriptor pool binding
    > is always accurate.
    >
    > Bug: angleproject:5030
    > Test: MultithreadingTest::MultiContextDrawSmallDescriptorPools()
    > Change-Id: I5fdeeb46159448dfd679d7169e423048348be5ab
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2437609
    > Commit-Queue: Tim Van Patten <timvp@google.com>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    
    TBR=courtneygo@google.com,timvp@google.com,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:5030
    Change-Id: I0fd6d9a0e1b0989b22368ef98652281288699deb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2497222
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    

  • 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
    kc3_lang_org www_kmx_io thodg_w thodg_l thodg thodg_m
    Tags