• Show log

    Commit

  • Hash : ac263582
    Author : Steven Noonan
    Date : 2023-06-19T12:26:44

    Vulkan: add workaround for VK_EXT_full_screen_exclusive on AMD
    
    On outdated (but recent) AMD drivers, the Windows-only Vulkan extension
    VK_EXT_full_screen_exclusive appeared to be implicitly enabled and set
    to VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT mode. Even though
    ANGLE did not enable or interact with this extension at all, the driver
    was incorrectly returning VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
    error codes on various swapchain operations when the full screen window
    focus was lost (i.e. alt-tab out and back in). Naturally, ANGLE was not
    expecting these error codes and did not know how to handle them.
    Depending on where the errors occurred, ANGLE might crash or retry
    creating the swapchain repeatedly.
    
    Treating the unexpected VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
    error code as VK_ERROR_OUT_OF_DATE_KHR/VK_SUBOPTIMAL_KHR was not
    sufficient, because the driver would repeat the error on every swapchain
    operation, apparently expecting the error to be handled by
    a vkAcquireFullScreenExclusiveModeEXT call (even though that would make
    no sense, since the extension was not enabled).
    
    The incorrect driver behavior was reported to AMD and was fixed in
    recent driver releases. The earliest driver I've tested and know to be
    working is AMD's Adrenaline driver version 23.5.2
    (VkPhysicalDeviceProperties calls this driverVersion 2.0.262/0x800106).
    The last known bad version was 0x8000e9.
    
    The simplest workaround on these older AMD graphics drivers is to
    explicitly enable the extension, but set it to
    VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT mode. On newer drivers we do not
    need to do anything with the extension and can ignore it.
    
    Bug: angleproject:8215
    Change-Id: I7c58d47a0350f4b0bc1a77f200c1e2f72fcde8d8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4627279
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Charlie Lao <cclao@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