• Show log

    Commit

  • Hash : 0fefbe83
    Author : Yuxin Hu
    Date : 2022-09-14T15:20:00

    Vulkan: Do not cache the FramebufferHelper with no attachment
    
    If two FBOs don't have any attachments,
    and their GL_FRAMEBUFFER_DEFAULT_WIDTH
    and GL_FRAMEBUFFER_DEFAULT_HEIGHT are
    different, there is no difference in
    their cache key (vk::FramebufferDesc).
    Therefore the Vulkan backend is not able
    to distinguish between the two FBOs.
    
    This can create issues when we
    1. create first FBO with a smaller size, renders to it
    2. create second FBO with a bigger size, renders to it
    
    The second renderpass will use the FBO created
    in the first renderpass, because it managed to
    retrieve the first FBO from the cache with
    the same cachekey. This triggers the
    vulkan validation error:
    VUID-VkRenderPassBeginInfo-pNext-02853,
    saying the render area exceeds the
    framebuffer size.
    
    This CL fixed it by not adding the FramebufferHelper
    to the cache, if it doesn't have any attachment.
    These framebufferHelpers are cheap, without
    cache there should not be much performance
    drop.
    
    Bug: angleproject:3579
    Bug: angleproject:7351
    Bug: angleproject:7666
    Bug: b/246334302
    Change-Id: Iddecafddb042bd16401f983f9ee1a021b845d8bb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3891543
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
    Reviewed-by: Charlie Lao <cclao@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@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