Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
  • This project
    • Loading...
  • Sign in / Register
A
angle
  • Project
    • Overview
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Chen Yisong
  • angle
  • Repository

Switch branch/tag
  • angle
  • src
  • libANGLE
  • renderer
  • vulkan
  • vk_cache_utils.cpp
Find file
BlameHistoryPermalink
  • Ian Elliott's avatar
    Vulkan: Update number of samples when changing draw framebuffer · c8d7f047
    Ian Elliott authored Jan 07, 2020
    This fixes a crash (preceeded by Vulkan validation errors) when running
    the following test:
    
    --gtest_filter=dEQP.KHR_GLES31/core_texture_storage_multisample_FunctionalTests_blitting_multisampled_depth_attachment* --use-angle=vulkan
    
    The problem is that GraphicsPipelineDesc::updateRasterizationSamples()
    is rarely called (e.g. glBindFramebuffer).  The above dEQP test changes
    between draw attachments that do and don't have multisampling enabled.
    The number of samples is set (the first time) to have multisampling
    enabled, and never changed, even though other attachments don't have
    multisampling.
    
    FramebufferVk::syncState() now calls updateRasterizationSamples().  That
    fix uncovered a latent problem: when an application destroys all
    framebuffers (including the draw framebuffer), the ContextVk still
    points at the old draw framebuffer's FramebufferVk (now freed).  This
    is fixed with new plubming to clean-up ContextVk::mDrawFramebuffer.
    
    Bug: angleproject:4240
    Change-Id: I151ec40ab821efc07c26323c34275c9165ad2ed5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1983393Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
    Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    c8d7f047
vk_cache_utils.cpp 78.3 KB
EditWeb IDE
×

Replace vk_cache_utils.cpp

Attach a file by drag & drop or click to upload


Cancel
A new branch will be created in your fork and a new merge request will be started.