bruhmoment21 / UniversalHookX

Universal graphical hook for Windows apps.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ImGui window doesn't show for Valheim - Vulkan

FoxMaccloud opened this issue Β· comments

Awesome to see an imgui hook example for Vulkan. This is the only example I could find! πŸ˜„

When injecting for Valheim, it appears to inject fine. However the imgui menu is not showing.

image

Steps to reproduce

Download Vulkan SDK.
Un-comment #define ENABLE_BACKEND_VULKAN in backend.hpp.
Open project in Visual Studio 2022.
Re-include imgui_impl_vulkan files.
Compile project.
Start Valheim using Vulkan.
Inject dll.

vulkan works for me so i guess you didn't force the game to use vulkan ("-force-vulkan", in the launch parameters) and it falls back to directx11

image

I played around with it some more and found that when attempting to uninject, the allocated console doesn't disappear, but hangs around.
ReinitializeGraphicalHooks appears to be working fine (before unloading).

image

I'm not sure what's wrong. I tried using the -force-vulkan launch parameter, reinstalling the game and setting imgui window to the middle of the screen in case it rendered off-screen.
When using DX11 everything appears to work perfectly.

image

It looks like you don't have issues on your end, so I guess the issue lies with me.

are vulkan hooks being called? (simply place a breakpoint)

The Vulkan hooks appears to be called just fine.

image

I don't see the window size being set anywhere. This is the 3rd time this func is called. The comment implies that 4K will be overwritten at some point?

image

Everything appears to be in order expect the menu not showing up...

what version of valheim are you playing and also what gpu do you have.

what you have posted is normal behaviour. but i still have no idea why the menu is not showing up

I'm running version 2022-12-15 0.212.9 of the game and my GPU is an AMD Radeon Vega 64

I'm running version 2022-12-15 0.212.9 of the game and my GPU is an AMD Radeon Vega 64

put this code right here and then paste the output between "start detailed log" and "end detailed log"
image

LOG("start detailed log:\n");
    LOG("g_Device: %p\n", g_Device);
    LOG("called hkQueuePresentKHR() with queue: %p\n", queue);

    if (g_Device) {
        uint32_t count;
        vkGetPhysicalDeviceQueueFamilyProperties(g_PhysicalDevice, &count, NULL);
        VkQueueFamilyProperties* queues = new VkQueueFamilyProperties[sizeof(VkQueueFamilyProperties) * count];
        vkGetPhysicalDeviceQueueFamilyProperties(g_PhysicalDevice, &count, queues);
        for (uint32_t i = 0; i < count; ++i) {
            for (uint32_t j = 0; j < queues[i].queueCount; ++j) {
                VkQueue pQueue = VK_NULL_HANDLE;
                vkGetDeviceQueue(g_Device, i, j, &pQueue);

                LOG("\tqueue[%u][%u]: %p\n", i, j, pQueue);
            }
        }
        delete[] queues;
    }
    LOG("end detailed log.\n");

better post the whole log after injecting for the first time. (the console should be spammed with that log thing ive written)

image

[+] Rendering backend: VULKAN
[+] Got window with name: 'Valheim'
[+] Vulkan: g_Instance: 0x000002839B37E7D0
[+] Vulkan: g_PhysicalDevice: 0x0000028372CE5A50
[+] Vulkan: g_QueueFamily: 0
[+] Vulkan: g_FakeDevice: 0x00000283B1089E30
[+] Vulkan: fnAcquireNextImageKHR: 0x00007FF9C160CB70
[+] Vulkan: fnAcquireNextImage2KHR: 0x00007FF9C160CBD0
[+] Vulkan: fnQueuePresentKHR: 0x00007FFA90B3AE60
[+] Vulkan: fnCreateSwapchainKHR: 0x00007FFA90B3A350
start detailed log:
g_Device: 00000282D81A94F0
called hkQueuePresentKHR() with queue: 00000282D81B15C0
        queue[0][0]: 00000282D81B15C0
        queue[1][0]: 0000000000000000
        queue[1][1]: 0000000000000000
        queue[2][0]: 0000000000000000
        queue[2][1]: 0000000000000000
end detailed log.
Calling Menu Render
start detailed log:
g_Device: 00000282D81A94F0
called hkQueuePresentKHR() with queue: 00000282D81B15C0
        queue[0][0]: 00000282D81B15C0
        queue[1][0]: 0000000000000000
        queue[1][1]: 0000000000000000
        queue[2][0]: 0000000000000000
        queue[2][1]: 0000000000000000
end detailed log.
Calling Menu Render
start detailed log:
g_Device: 00000282D81A94F0
called hkQueuePresentKHR() with queue: 00000282D81B15C0
        queue[0][0]: 00000282D81B15C0
        queue[1][0]: 0000000000000000
        queue[1][1]: 0000000000000000
        queue[2][0]: 0000000000000000
        queue[2][1]: 0000000000000000
```

i have no clue why it;s not working i guess you will have to stick to directx11
(disable all overlays maybe like discord or msi afterburner if you have any)

Might be important to the issue.
On exit the dll seems to freeze the game after a few seconds.
Trying to step through to figure out why, I don't reach anything after vkDestroyInstance(g_Instance, g_Allocator); in CleanupDeviceVulkan.

image

2023-01-22.16-23-48.mp4

if you can u could try to test this on someones else pc to see if its just you. menu shows up on my screen and i have changed only the renderingbackend to vulkan thats it

vulkanhook_small.mp4

Well this is how it looks for me. I'll see if I can find another PC to test on.

commented

i think the game hung because you have selected text in the console.
do you have the overlay like geforce experience but for amd? (i forgot how its called)

you could even try to disable steams overlay which is here
image

i think the game hung because you have selected text in the console.

No this happens always.

As for overlays. AMD has "AMD Adrenaline". I disabled both steam and adrenaline overlays but still all the same.

commented

are you running the latest drivers and the latest win10 because i don t have a clue whats going on

image

image

Latest everything.

commented

do you own any titles like portal 2 or half life 2 ? if you own them use -vulkan in the launch paramters and inject to see if they work (compile in x86)
also if you can paste whatever the console outputs if you type "vulkaninfo" in cmd

image

Exactly the same behavoir, also still freezes on exit with same problem.

``` C:\Users\FoxMaccloud>vulkaninfo ERROR: [Loader Message] Code 0 : loader_get_json: Failed to open JSON file E:\Programfiler (x86)\Overwolf\0.187.1.13\ow-vulkan-overlay64.json ERROR: [Loader Message] Code 0 : loader_get_json: Failed to open JSON file E:\Programfiler (x86)\Overwolf\0.187.1.13\ow-graphics-vulkan64.json ========== VULKANINFO ==========

Vulkan Instance Version: 1.3.204

Instance Extensions: count = 11

    VK_EXT_debug_report                    : extension revision 10
    VK_EXT_debug_utils                     : extension revision 2
    VK_EXT_swapchain_colorspace            : extension revision 4
    VK_KHR_device_group_creation           : extension revision 1
    VK_KHR_external_fence_capabilities     : extension revision 1
    VK_KHR_external_memory_capabilities    : extension revision 1
    VK_KHR_external_semaphore_capabilities : extension revision 1
    VK_KHR_get_physical_device_properties2 : extension revision 2
    VK_KHR_get_surface_capabilities2       : extension revision 1
    VK_KHR_surface                         : extension revision 25
    VK_KHR_win32_surface                   : extension revision 6

Layers: count = 11

VK_LAYER_AMD_switchable_graphics (AMD switchable graphics layer) Vulkan version 1.3.217, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 0

VK_LAYER_KHRONOS_profiles (Khronos Profiles layer) Vulkan version 1.3.236, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 1
VK_EXT_tooling_info : extension revision 1

VK_LAYER_KHRONOS_synchronization2 (Khronos Synchronization2 layer) Vulkan version 1.3.236, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 1
VK_KHR_synchronization2 : extension revision 1

VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.3.236, layer version 1:
Layer Extensions: count = 3
VK_EXT_debug_report : extension revision 9
VK_EXT_debug_utils : extension revision 1
VK_EXT_validation_features : extension revision 2
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 3
VK_EXT_debug_marker : extension revision 4
VK_EXT_tooling_info : extension revision 1
VK_EXT_validation_cache : extension revision 1

VK_LAYER_LUNARG_api_dump (LunarG API dump layer) Vulkan version 1.3.236, layer version 2:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 1
VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_gfxreconstruct (GFXReconstruct Capture Layer Version 0.9.16) Vulkan version 1.3.236, layer version 36880:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 1
VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_monitor (Execution Monitoring Layer) Vulkan version 1.3.236, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 1
VK_EXT_tooling_info : extension revision 1

VK_LAYER_LUNARG_screenshot (LunarG image capture layer) Vulkan version 1.3.236, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 1
VK_EXT_tooling_info : extension revision 1

VK_LAYER_OBS_HOOK (Open Broadcaster Software hook) Vulkan version 1.3.216, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_fossilize (Steam Pipeline Caching Layer) Vulkan version 1.3.207, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (Radeon RX Vega)
Layer-Device Extensions: count = 0

Presentable Surfaces:

GPU id : 0 (Radeon RX Vega):
Surface type = VK_KHR_win32_surface
Formats: count = 25
SurfaceFormat[0]:
format = FORMAT_B8G8R8A8_UNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[1]:
format = FORMAT_B8G8R8A8_SRGB
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[2]:
format = FORMAT_A2R10G10B10_UNORM_PACK32
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[3]:
format = FORMAT_R16G16B16A16_SFLOAT
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[4]:
format = FORMAT_B8G8R8A8_UNORM
colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
SurfaceFormat[5]:
format = FORMAT_B8G8R8A8_SRGB
colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
SurfaceFormat[6]:
format = FORMAT_A2R10G10B10_UNORM_PACK32
colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
SurfaceFormat[7]:
format = FORMAT_R16G16B16A16_SFLOAT
colorSpace = COLOR_SPACE_BT709_NONLINEAR_EXT
SurfaceFormat[8]:
format = FORMAT_R16G16B16A16_SFLOAT
colorSpace = COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
SurfaceFormat[9]:
format = FORMAT_R4G4B4A4_UNORM_PACK16
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[10]:
format = FORMAT_B4G4R4A4_UNORM_PACK16
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[11]:
format = FORMAT_R5G6B5_UNORM_PACK16
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[12]:
format = FORMAT_B5G6R5_UNORM_PACK16
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[13]:
format = FORMAT_A1R5G5B5_UNORM_PACK16
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[14]:
format = FORMAT_R8G8B8A8_UNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[15]:
format = FORMAT_R8G8B8A8_SNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[16]:
format = FORMAT_R8G8B8A8_SRGB
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[17]:
format = FORMAT_B8G8R8A8_SNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[18]:
format = FORMAT_A8B8G8R8_UNORM_PACK32
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[19]:
format = FORMAT_A8B8G8R8_SNORM_PACK32
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[20]:
format = FORMAT_A8B8G8R8_SRGB_PACK32
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[21]:
format = FORMAT_A2B10G10R10_UNORM_PACK32
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[22]:
format = FORMAT_R16G16B16A16_UNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[23]:
format = FORMAT_R16G16B16A16_SNORM
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
SurfaceFormat[24]:
format = FORMAT_B10G11R11_UFLOAT_PACK32
colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
Present Modes: count = 3
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
VkSurfaceCapabilitiesKHR:
-------------------------
minImageCount = 1
maxImageCount = 16
currentExtent:
width = 256
height = 256
minImageExtent:
width = 256
height = 256
maxImageExtent:
width = 256
height = 256
maxImageArrayLayers = 1
supportedTransforms: count = 1
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
supportedCompositeAlpha: count = 1
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
supportedUsageFlags: count = 6
IMAGE_USAGE_TRANSFER_SRC_BIT
IMAGE_USAGE_TRANSFER_DST_BIT
IMAGE_USAGE_SAMPLED_BIT
IMAGE_USAGE_STORAGE_BIT
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
VkSurfaceCapabilitiesFullScreenExclusiveEXT:
--------------------------------------------
fullScreenExclusiveSupported = true

Device Groups:

Group 0:
Properties:
physicalDevices: count = 1
Radeon RX Vega (ID: 0)
subsetAllocation = 0

    Present Capabilities:
            Radeon RX Vega (ID: 0):
                    Can present images from the following devices: count = 1
                            Radeon RX Vega (ID: 0)
            Present modes: count = 1
                    DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR

Device Properties and Extensions:

GPU0:
VkPhysicalDeviceProperties:

    apiVersion        = 4206809 (1.3.217)
    driverVersion     = 8388841 (0x8000e9)
    vendorID          = 0x1002
    deviceID          = 0x687f
    deviceType        = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName        = Radeon RX Vega
    pipelineCacheUUID = e49bf5d3-1f61-5334-8eb0-dd9d3f8ae2fe

VkPhysicalDeviceLimits:

    maxImageDimension1D                             = 16384
    maxImageDimension2D                             = 16384
    maxImageDimension3D                             = 2048
    maxImageDimensionCube                           = 16384
    maxImageArrayLayers                             = 2048
    maxTexelBufferElements                          = 4294967295
    maxUniformBufferRange                           = 4294967295
    maxStorageBufferRange                           = 4294967295
    maxPushConstantsSize                            = 128
    maxMemoryAllocationCount                        = 4096
    maxSamplerAllocationCount                       = 1048576
    bufferImageGranularity                          = 0x00000001
    sparseAddressSpaceSize                          = 0xff900000000
    maxBoundDescriptorSets                          = 32
    maxPerStageDescriptorSamplers                   = 4294967295
    maxPerStageDescriptorUniformBuffers             = 4294967295
    maxPerStageDescriptorStorageBuffers             = 4294967295
    maxPerStageDescriptorSampledImages              = 4294967295
    maxPerStageDescriptorStorageImages              = 4294967295
    maxPerStageDescriptorInputAttachments           = 4294967295
    maxPerStageResources                            = 4294967295
    maxDescriptorSetSamplers                        = 4294967295
    maxDescriptorSetUniformBuffers                  = 4294967295
    maxDescriptorSetUniformBuffersDynamic           = 8
    maxDescriptorSetStorageBuffers                  = 4294967295
    maxDescriptorSetStorageBuffersDynamic           = 8
    maxDescriptorSetSampledImages                   = 4294967295
    maxDescriptorSetStorageImages                   = 4294967295
    maxDescriptorSetInputAttachments                = 4294967295
    maxVertexInputAttributes                        = 64
    maxVertexInputBindings                          = 32
    maxVertexInputAttributeOffset                   = 4294967295
    maxVertexInputBindingStride                     = 16383
    maxVertexOutputComponents                       = 128
    maxTessellationGenerationLevel                  = 64
    maxTessellationPatchSize                        = 32
    maxTessellationControlPerVertexInputComponents  = 128
    maxTessellationControlPerVertexOutputComponents = 128
    maxTessellationControlPerPatchOutputComponents  = 120
    maxTessellationControlTotalOutputComponents     = 4096
    maxTessellationEvaluationInputComponents        = 128
    maxTessellationEvaluationOutputComponents       = 128
    maxGeometryShaderInvocations                    = 127
    maxGeometryInputComponents                      = 128
    maxGeometryOutputComponents                     = 128
    maxGeometryOutputVertices                       = 1023
    maxGeometryTotalOutputComponents                = 4095
    maxFragmentInputComponents                      = 128
    maxFragmentOutputAttachments                    = 8
    maxFragmentDualSrcAttachments                   = 1
    maxFragmentCombinedOutputResources              = 4294967295
    maxComputeSharedMemorySize                      = 65536
    maxComputeWorkGroupCount: count = 3
            65535
            65535
            65535
    maxComputeWorkGroupInvocations                  = 1024
    maxComputeWorkGroupSize: count = 3
            1024
            1024
            1024
    subPixelPrecisionBits                           = 8
    subTexelPrecisionBits                           = 8
    mipmapPrecisionBits                             = 8
    maxDrawIndexedIndexValue                        = 4294967295
    maxDrawIndirectCount                            = 4294967295
    maxSamplerLodBias                               = 15.9961
    maxSamplerAnisotropy                            = 16
    maxViewports                                    = 16
    maxViewportDimensions: count = 2
            16384
            16384
    viewportBoundsRange: count = 2
            -32768
            32767
    viewportSubPixelBits                            = 8
    minMemoryMapAlignment                           = 64
    minTexelBufferOffsetAlignment                   = 0x00000004
    minUniformBufferOffsetAlignment                 = 0x00000010
    minStorageBufferOffsetAlignment                 = 0x00000004
    minTexelOffset                                  = -64
    maxTexelOffset                                  = 63
    minTexelGatherOffset                            = -32
    maxTexelGatherOffset                            = 31
    minInterpolationOffset                          = -2
    maxInterpolationOffset                          = 1
    subPixelInterpolationOffsetBits                 = 8
    maxFramebufferWidth                             = 16384
    maxFramebufferHeight                            = 16384
    maxFramebufferLayers                            = 2048
    framebufferColorSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    framebufferDepthSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    framebufferStencilSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    framebufferNoAttachmentsSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    maxColorAttachments                             = 8
    sampledImageColorSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    sampledImageIntegerSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    sampledImageDepthSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    sampledImageStencilSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    storageImageSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    maxSampleMaskWords                              = 1
    timestampComputeAndGraphics                     = true
    timestampPeriod                                 = 37.037
    maxClipDistances                                = 8
    maxCullDistances                                = 8
    maxCombinedClipAndCullDistances                 = 8
    discreteQueuePriorities                         = 2
    pointSizeRange: count = 2
            0
            8191.88
    lineWidthRange: count = 2
            0
            8191.88
    pointSizeGranularity                            = 0.125
    lineWidthGranularity                            = 0.125
    strictLines                                     = false
    standardSampleLocations                         = true
    optimalBufferCopyOffsetAlignment                = 0x00000001
    optimalBufferCopyRowPitchAlignment              = 0x00000001
    nonCoherentAtomSize                             = 0x00000080

VkPhysicalDeviceSparseProperties:

    residencyStandard2DBlockShape            = true
    residencyStandard2DMultisampleBlockShape = false
    residencyStandard3DBlockShape            = true
    residencyAlignedMipSize                  = false
    residencyNonResidentStrict               = true

VkPhysicalDeviceConservativeRasterizationPropertiesEXT:

    primitiveOverestimationSize                 = 0
    maxExtraPrimitiveOverestimationSize         = 0
    extraPrimitiveOverestimationSizeGranularity = 0
    primitiveUnderestimation                    = true
    conservativePointAndLineRasterization       = false
    degenerateTrianglesRasterized               = true
    degenerateLinesRasterized                   = false
    fullyCoveredFragmentShaderInputVariable     = false
    conservativeRasterizationPostDepthCoverage  = false

VkPhysicalDeviceCustomBorderColorPropertiesEXT:

    maxCustomBorderColorSamplers = 4096

VkPhysicalDeviceDepthStencilResolveProperties:

    supportedDepthResolveModes: count = 3
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes: count = 3
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    independentResolveNone = true
    independentResolve     = true

VkPhysicalDeviceDescriptorIndexingProperties:

    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = false
    shaderSampledImageArrayNonUniformIndexingNative      = false
    shaderStorageBufferArrayNonUniformIndexingNative     = false
    shaderStorageImageArrayNonUniformIndexingNative      = false
    shaderInputAttachmentArrayNonUniformIndexingNative   = false
    robustBufferAccessUpdateAfterBind                    = false
    quadDivergentImplicitLod                             = false
    maxPerStageDescriptorUpdateAfterBindSamplers         = 4294967295
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 4294967295
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 4294967295
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 4294967295
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 4294967295
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 4294967295
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 4294967295
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 4294967295
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 4294967295
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindSampledImages         = 4294967295
    maxDescriptorSetUpdateAfterBindStorageImages         = 4294967295
    maxDescriptorSetUpdateAfterBindInputAttachments      = 4294967295

VkPhysicalDeviceDriverProperties:

    driverID           = DRIVER_ID_AMD_PROPRIETARY
    driverName         = AMD proprietary driver
    driverInfo         = 22.11.2
    conformanceVersion = 1.3.0.0

VkPhysicalDeviceExternalMemoryHostPropertiesEXT:

    minImportedHostPointerAlignment = 0x00001000

VkPhysicalDeviceFloatControlsProperties:

    denormBehaviorIndependence            = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
    roundingModeIndependence              = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
    shaderSignedZeroInfNanPreserveFloat16 = true
    shaderSignedZeroInfNanPreserveFloat32 = true
    shaderSignedZeroInfNanPreserveFloat64 = true
    shaderDenormPreserveFloat16           = true
    shaderDenormPreserveFloat32           = true
    shaderDenormPreserveFloat64           = true
    shaderDenormFlushToZeroFloat16        = true
    shaderDenormFlushToZeroFloat32        = true
    shaderDenormFlushToZeroFloat64        = true
    shaderRoundingModeRTEFloat16          = true
    shaderRoundingModeRTEFloat32          = true
    shaderRoundingModeRTEFloat64          = true
    shaderRoundingModeRTZFloat16          = true
    shaderRoundingModeRTZFloat32          = true
    shaderRoundingModeRTZFloat64          = true

VkPhysicalDeviceIDProperties:

    deviceUUID      = 00000000-2800-0000-0000-000000000000
    driverUUID      = 414d442d-5749-4e2d-4452-560000000000
    deviceLUID      = d2f90000-00000000
    deviceNodeMask  = 1
    deviceLUIDValid = true

VkPhysicalDeviceInlineUniformBlockProperties:

    maxInlineUniformBlockSize                               = 65536
    maxPerStageDescriptorInlineUniformBlocks                = 16
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 16
    maxDescriptorSetInlineUniformBlocks                     = 16
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 16

VkPhysicalDeviceLineRasterizationPropertiesEXT:

    lineSubPixelPrecisionBits = 4

VkPhysicalDeviceMaintenance3Properties:

    maxPerSetDescriptors    = 4294967295
    maxMemoryAllocationSize = 0x80000000

VkPhysicalDeviceMaintenance4Properties:

    maxBufferSize = 0x80000000

VkPhysicalDeviceMultiviewProperties:

    maxMultiviewViewCount     = 6
    maxMultiviewInstanceIndex = 4294967295

VkPhysicalDevicePointClippingProperties:

    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES

VkPhysicalDeviceProtectedMemoryProperties:

    protectedNoFault = false

VkPhysicalDeviceProvokingVertexPropertiesEXT:

    provokingVertexModePerPipeline                       = true
    transformFeedbackPreservesTriangleFanProvokingVertex = true

VkPhysicalDevicePushDescriptorPropertiesKHR:

    maxPushDescriptors = 32

VkPhysicalDeviceRobustness2PropertiesEXT:

    robustStorageBufferAccessSizeAlignment = 0x00000004
    robustUniformBufferAccessSizeAlignment = 0x00000004

VkPhysicalDeviceSampleLocationsPropertiesEXT:

    sampleLocationSampleCounts: count = 3
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT
    maxSampleLocationGridSize:
            width  = 2
            height = 2
    sampleLocationCoordinateRange: count = 2
            0
            1
    sampleLocationSubPixelBits       = 4
    variableSampleLocations          = true

VkPhysicalDeviceSamplerFilterMinmaxProperties:

    filterMinmaxSingleComponentFormats = true
    filterMinmaxImageComponentMapping  = true

VkPhysicalDeviceShaderIntegerDotProductProperties:

    integerDotProduct8BitUnsignedAccelerated                                      = false
    integerDotProduct8BitSignedAccelerated                                        = false
    integerDotProduct8BitMixedSignednessAccelerated                               = false
    integerDotProduct4x8BitPackedUnsignedAccelerated                              = false
    integerDotProduct4x8BitPackedSignedAccelerated                                = false
    integerDotProduct4x8BitPackedMixedSignednessAccelerated                       = false
    integerDotProduct16BitUnsignedAccelerated                                     = true
    integerDotProduct16BitSignedAccelerated                                       = true
    integerDotProduct16BitMixedSignednessAccelerated                              = false
    integerDotProduct32BitUnsignedAccelerated                                     = false
    integerDotProduct32BitSignedAccelerated                                       = false
    integerDotProduct32BitMixedSignednessAccelerated                              = false
    integerDotProduct64BitUnsignedAccelerated                                     = false
    integerDotProduct64BitSignedAccelerated                                       = false
    integerDotProduct64BitMixedSignednessAccelerated                              = false
    integerDotProductAccumulatingSaturating8BitUnsignedAccelerated                = false
    integerDotProductAccumulatingSaturating8BitSignedAccelerated                  = false
    integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated         = false
    integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated        = false
    integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated          = false
    integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false
    integerDotProductAccumulatingSaturating16BitUnsignedAccelerated               = true
    integerDotProductAccumulatingSaturating16BitSignedAccelerated                 = true
    integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated        = false
    integerDotProductAccumulatingSaturating32BitUnsignedAccelerated               = false
    integerDotProductAccumulatingSaturating32BitSignedAccelerated                 = false
    integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated        = false
    integerDotProductAccumulatingSaturating64BitUnsignedAccelerated               = false
    integerDotProductAccumulatingSaturating64BitSignedAccelerated                 = false
    integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated        = false

VkPhysicalDeviceSubgroupProperties:

    subgroupSize              = 64
    supportedStages: count = 8
            SHADER_STAGE_VERTEX_BIT
            SHADER_STAGE_TESSELLATION_CONTROL_BIT
            SHADER_STAGE_TESSELLATION_EVALUATION_BIT
            SHADER_STAGE_GEOMETRY_BIT
            SHADER_STAGE_FRAGMENT_BIT
            SHADER_STAGE_COMPUTE_BIT
            SHADER_STAGE_ALL_GRAPHICS
            SHADER_STAGE_ALL
    supportedOperations: count = 8
            SUBGROUP_FEATURE_BASIC_BIT
            SUBGROUP_FEATURE_VOTE_BIT
            SUBGROUP_FEATURE_ARITHMETIC_BIT
            SUBGROUP_FEATURE_BALLOT_BIT
            SUBGROUP_FEATURE_SHUFFLE_BIT
            SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
            SUBGROUP_FEATURE_CLUSTERED_BIT
            SUBGROUP_FEATURE_QUAD_BIT
    quadOperationsInAllStages = true

VkPhysicalDeviceSubgroupSizeControlProperties:

    minSubgroupSize              = 64
    maxSubgroupSize              = 64
    maxComputeWorkgroupSubgroups = 4294967295
    requiredSubgroupSizeStages:
            None

VkPhysicalDeviceTexelBufferAlignmentProperties:

    storageTexelBufferOffsetAlignmentBytes       = 0x00000004
    storageTexelBufferOffsetSingleTexelAlignment = true
    uniformTexelBufferOffsetAlignmentBytes       = 0x00000004
    uniformTexelBufferOffsetSingleTexelAlignment = true

VkPhysicalDeviceTimelineSemaphoreProperties:

    maxTimelineSemaphoreValueDifference = 4294967295

VkPhysicalDeviceTransformFeedbackPropertiesEXT:

    maxTransformFeedbackStreams                = 4
    maxTransformFeedbackBuffers                = 4
    maxTransformFeedbackBufferSize             = 0xffffffff
    maxTransformFeedbackStreamDataSize         = 512
    maxTransformFeedbackBufferDataSize         = 512
    maxTransformFeedbackBufferDataStride       = 512
    transformFeedbackQueries                   = true
    transformFeedbackStreamsLinesTriangles     = true
    transformFeedbackRasterizationStreamSelect = false
    transformFeedbackDraw                      = true

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:

    maxVertexAttribDivisor = 4294967295

VkPhysicalDeviceVulkan11Properties:

    deviceUUID                        = 00000000-2800-0000-0000-000000000000
    driverUUID                        = 414d442d-5749-4e2d-4452-560000000000
    deviceLUID                        = d2f90000-00000000
    deviceNodeMask                    = 1
    deviceLUIDValid                   = true
    subgroupSize                      = 64
    subgroupSupportedStages: count = 8
            SHADER_STAGE_VERTEX_BIT
            SHADER_STAGE_TESSELLATION_CONTROL_BIT
            SHADER_STAGE_TESSELLATION_EVALUATION_BIT
            SHADER_STAGE_GEOMETRY_BIT
            SHADER_STAGE_FRAGMENT_BIT
            SHADER_STAGE_COMPUTE_BIT
            SHADER_STAGE_ALL_GRAPHICS
            SHADER_STAGE_ALL
    subgroupSupportedOperations: count = 8
            SUBGROUP_FEATURE_BASIC_BIT
            SUBGROUP_FEATURE_VOTE_BIT
            SUBGROUP_FEATURE_ARITHMETIC_BIT
            SUBGROUP_FEATURE_BALLOT_BIT
            SUBGROUP_FEATURE_SHUFFLE_BIT
            SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
            SUBGROUP_FEATURE_CLUSTERED_BIT
            SUBGROUP_FEATURE_QUAD_BIT
    subgroupQuadOperationsInAllStages = true
    pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
    maxMultiviewViewCount             = 6
    maxMultiviewInstanceIndex         = 4294967295
    protectedNoFault                  = false
    maxPerSetDescriptors              = 4294967295
    maxMemoryAllocationSize           = 0x80000000

VkPhysicalDeviceVulkan12Properties:

    driverID                                             = DRIVER_ID_AMD_PROPRIETARY
    driverName                                           = AMD proprietary driver
    driverInfo                                           = 22.11.2
    conformanceVersion                                   = 1.3.0.0
    denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
    roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
    shaderSignedZeroInfNanPreserveFloat16                = true
    shaderSignedZeroInfNanPreserveFloat32                = true
    shaderSignedZeroInfNanPreserveFloat64                = true
    shaderDenormPreserveFloat16                          = true
    shaderDenormPreserveFloat32                          = true
    shaderDenormPreserveFloat64                          = true
    shaderDenormFlushToZeroFloat16                       = true
    shaderDenormFlushToZeroFloat32                       = true
    shaderDenormFlushToZeroFloat64                       = true
    shaderRoundingModeRTEFloat16                         = true
    shaderRoundingModeRTEFloat32                         = true
    shaderRoundingModeRTEFloat64                         = true
    shaderRoundingModeRTZFloat16                         = true
    shaderRoundingModeRTZFloat32                         = true
    shaderRoundingModeRTZFloat64                         = true
    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = false
    shaderSampledImageArrayNonUniformIndexingNative      = false
    shaderStorageBufferArrayNonUniformIndexingNative     = false
    shaderStorageImageArrayNonUniformIndexingNative      = false
    shaderInputAttachmentArrayNonUniformIndexingNative   = false
    robustBufferAccessUpdateAfterBind                    = false
    quadDivergentImplicitLod                             = false
    maxPerStageDescriptorUpdateAfterBindSamplers         = 4294967295
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 4294967295
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 4294967295
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 4294967295
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 4294967295
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 4294967295
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 4294967295
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 4294967295
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 4294967295
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8
    maxDescriptorSetUpdateAfterBindSampledImages         = 4294967295
    maxDescriptorSetUpdateAfterBindStorageImages         = 4294967295
    maxDescriptorSetUpdateAfterBindInputAttachments      = 4294967295
    supportedDepthResolveModes: count = 3
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes: count = 3
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    independentResolveNone                               = true
    independentResolve                                   = true
    filterMinmaxSingleComponentFormats                   = true
    filterMinmaxImageComponentMapping                    = true
    maxTimelineSemaphoreValueDifference                  = 4294967295
    framebufferIntegerColorSampleCounts: count = 4
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT

VkPhysicalDeviceVulkan13Properties:

    minSubgroupSize                                                               = 64
    maxSubgroupSize                                                               = 64
    maxComputeWorkgroupSubgroups                                                  = 4294967295
    requiredSubgroupSizeStages:
            None
    maxInlineUniformBlockSize                                                     = 65536
    maxPerStageDescriptorInlineUniformBlocks                                      = 16
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks                       = 16
    maxDescriptorSetInlineUniformBlocks                                           = 16
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks                            = 16
    maxInlineUniformTotalSize                                                     = 4294967295
    integerDotProduct8BitUnsignedAccelerated                                      = false
    integerDotProduct8BitSignedAccelerated                                        = false
    integerDotProduct8BitMixedSignednessAccelerated                               = false
    integerDotProduct4x8BitPackedUnsignedAccelerated                              = false
    integerDotProduct4x8BitPackedSignedAccelerated                                = false
    integerDotProduct4x8BitPackedMixedSignednessAccelerated                       = false
    integerDotProduct16BitUnsignedAccelerated                                     = true
    integerDotProduct16BitSignedAccelerated                                       = true
    integerDotProduct16BitMixedSignednessAccelerated                              = false
    integerDotProduct32BitUnsignedAccelerated                                     = false
    integerDotProduct32BitSignedAccelerated                                       = false
    integerDotProduct32BitMixedSignednessAccelerated                              = false
    integerDotProduct64BitUnsignedAccelerated                                     = false
    integerDotProduct64BitSignedAccelerated                                       = false
    integerDotProduct64BitMixedSignednessAccelerated                              = false
    integerDotProductAccumulatingSaturating8BitUnsignedAccelerated                = false
    integerDotProductAccumulatingSaturating8BitSignedAccelerated                  = false
    integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated         = false
    integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated        = false
    integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated          = false
    integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false
    integerDotProductAccumulatingSaturating16BitUnsignedAccelerated               = true
    integerDotProductAccumulatingSaturating16BitSignedAccelerated                 = true
    integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated        = false
    integerDotProductAccumulatingSaturating32BitUnsignedAccelerated               = false
    integerDotProductAccumulatingSaturating32BitSignedAccelerated                 = false
    integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated        = false
    integerDotProductAccumulatingSaturating64BitUnsignedAccelerated               = false
    integerDotProductAccumulatingSaturating64BitSignedAccelerated                 = false
    integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated        = false
    storageTexelBufferOffsetAlignmentBytes                                        = 0x00000004
    storageTexelBufferOffsetSingleTexelAlignment                                  = true
    uniformTexelBufferOffsetAlignmentBytes                                        = 0x00000004
    uniformTexelBufferOffsetSingleTexelAlignment                                  = true
    maxBufferSize                                                                 = 0x80000000

Device Extensions: count = 137
VK_AMD_buffer_marker : extension revision 1
VK_AMD_calibrated_timestamps : extension revision 1
VK_AMD_device_coherent_memory : extension revision 1
VK_AMD_display_native_hdr : extension revision 1
VK_AMD_draw_indirect_count : extension revision 2
VK_AMD_gcn_shader : extension revision 1
VK_AMD_gpa_interface : extension revision 1
VK_AMD_gpu_shader_half_float : extension revision 2
VK_AMD_gpu_shader_int16 : extension revision 2
VK_AMD_memory_overallocation_behavior : extension revision 1
VK_AMD_mixed_attachment_samples : extension revision 1
VK_AMD_pipeline_compiler_control : extension revision 1
VK_AMD_rasterization_order : extension revision 1
VK_AMD_shader_ballot : extension revision 1
VK_AMD_shader_core_properties : extension revision 2
VK_AMD_shader_core_properties2 : extension revision 1
VK_AMD_shader_early_and_late_fragment_tests : extension revision 1
VK_AMD_shader_explicit_vertex_parameter : extension revision 1
VK_AMD_shader_fragment_mask : extension revision 1
VK_AMD_shader_image_load_store_lod : extension revision 1
VK_AMD_shader_info : extension revision 1
VK_AMD_shader_trinary_minmax : extension revision 1
VK_AMD_texture_gather_bias_lod : extension revision 1
VK_AMD_wave_limits : extension revision 1
VK_EXT_4444_formats : extension revision 1
VK_EXT_calibrated_timestamps : extension revision 2
VK_EXT_color_write_enable : extension revision 1
VK_EXT_conditional_rendering : extension revision 2
VK_EXT_conservative_rasterization : extension revision 1
VK_EXT_custom_border_color : extension revision 12
VK_EXT_depth_clip_control : extension revision 1
VK_EXT_depth_clip_enable : extension revision 1
VK_EXT_depth_range_unrestricted : extension revision 1
VK_EXT_descriptor_indexing : extension revision 2
VK_EXT_extended_dynamic_state : extension revision 1
VK_EXT_extended_dynamic_state2 : extension revision 1
VK_EXT_external_memory_host : extension revision 1
VK_EXT_full_screen_exclusive : extension revision 4
VK_EXT_global_priority : extension revision 2
VK_EXT_global_priority_query : extension revision 1
VK_EXT_hdr_metadata : extension revision 2
VK_EXT_host_query_reset : extension revision 1
VK_EXT_image_robustness : extension revision 1
VK_EXT_image_view_min_lod : extension revision 1
VK_EXT_index_type_uint8 : extension revision 1
VK_EXT_inline_uniform_block : extension revision 1
VK_EXT_line_rasterization : extension revision 1
VK_EXT_load_store_op_none : extension revision 1
VK_EXT_memory_budget : extension revision 1
VK_EXT_memory_priority : extension revision 1
VK_EXT_non_seamless_cube_map : extension revision 1
VK_EXT_pageable_device_local_memory : extension revision 1
VK_EXT_pipeline_creation_cache_control : extension revision 3
VK_EXT_pipeline_creation_feedback : extension revision 1
VK_EXT_primitive_topology_list_restart : extension revision 1
VK_EXT_private_data : extension revision 1
VK_EXT_provoking_vertex : extension revision 1
VK_EXT_queue_family_foreign : extension revision 1
VK_EXT_robustness2 : extension revision 1
VK_EXT_sample_locations : extension revision 1
VK_EXT_sampler_filter_minmax : extension revision 2
VK_EXT_scalar_block_layout : extension revision 1
VK_EXT_separate_stencil_usage : extension revision 1
VK_EXT_shader_atomic_float : extension revision 1
VK_EXT_shader_demote_to_helper_invocation : extension revision 1
VK_EXT_shader_image_atomic_int64 : extension revision 1
VK_EXT_shader_stencil_export : extension revision 1
VK_EXT_shader_subgroup_ballot : extension revision 1
VK_EXT_shader_subgroup_vote : extension revision 1
VK_EXT_shader_viewport_index_layer : extension revision 1
VK_EXT_subgroup_size_control : extension revision 2
VK_EXT_texel_buffer_alignment : extension revision 1
VK_EXT_tooling_info : extension revision 1
VK_EXT_transform_feedback : extension revision 1
VK_EXT_vertex_attribute_divisor : extension revision 3
VK_EXT_ycbcr_image_arrays : extension revision 1
VK_GOOGLE_decorate_string : extension revision 1
VK_GOOGLE_hlsl_functionality1 : extension revision 1
VK_GOOGLE_user_type : extension revision 1
VK_KHR_16bit_storage : extension revision 1
VK_KHR_8bit_storage : extension revision 1
VK_KHR_bind_memory2 : extension revision 1
VK_KHR_buffer_device_address : extension revision 1
VK_KHR_copy_commands2 : extension revision 1
VK_KHR_create_renderpass2 : extension revision 1
VK_KHR_dedicated_allocation : extension revision 3
VK_KHR_depth_stencil_resolve : extension revision 1
VK_KHR_descriptor_update_template : extension revision 1
VK_KHR_device_group : extension revision 4
VK_KHR_draw_indirect_count : extension revision 1
VK_KHR_driver_properties : extension revision 1
VK_KHR_dynamic_rendering : extension revision 1
VK_KHR_external_fence : extension revision 1
VK_KHR_external_fence_win32 : extension revision 1
VK_KHR_external_memory : extension revision 1
VK_KHR_external_memory_win32 : extension revision 1
VK_KHR_external_semaphore : extension revision 1
VK_KHR_external_semaphore_win32 : extension revision 1
VK_KHR_format_feature_flags2 : extension revision 1
VK_KHR_get_memory_requirements2 : extension revision 1
VK_KHR_global_priority : extension revision 1
VK_KHR_image_format_list : extension revision 1
VK_KHR_imageless_framebuffer : extension revision 1
VK_KHR_maintenance1 : extension revision 2
VK_KHR_maintenance2 : extension revision 1
VK_KHR_maintenance3 : extension revision 1
VK_KHR_maintenance4 : extension revision 2
VK_KHR_multiview : extension revision 1
VK_KHR_pipeline_executable_properties : extension revision 1
VK_KHR_pipeline_library : extension revision 1
VK_KHR_push_descriptor : extension revision 2
VK_KHR_relaxed_block_layout : extension revision 1
VK_KHR_sampler_mirror_clamp_to_edge : extension revision 3
VK_KHR_sampler_ycbcr_conversion : extension revision 14
VK_KHR_separate_depth_stencil_layouts : extension revision 1
VK_KHR_shader_atomic_int64 : extension revision 1
VK_KHR_shader_clock : extension revision 1
VK_KHR_shader_draw_parameters : extension revision 1
VK_KHR_shader_float16_int8 : extension revision 1
VK_KHR_shader_float_controls : extension revision 4
VK_KHR_shader_integer_dot_product : extension revision 1
VK_KHR_shader_non_semantic_info : extension revision 1
VK_KHR_shader_subgroup_extended_types : extension revision 1
VK_KHR_shader_subgroup_uniform_control_flow : extension revision 1
VK_KHR_shader_terminate_invocation : extension revision 1
VK_KHR_spirv_1_4 : extension revision 1
VK_KHR_storage_buffer_storage_class : extension revision 1
VK_KHR_swapchain : extension revision 70
VK_KHR_swapchain_mutable_format : extension revision 1
VK_KHR_synchronization2 : extension revision 1
VK_KHR_timeline_semaphore : extension revision 2
VK_KHR_uniform_buffer_standard_layout : extension revision 1
VK_KHR_variable_pointers : extension revision 1
VK_KHR_vulkan_memory_model : extension revision 3
VK_KHR_win32_keyed_mutex : extension revision 1
VK_KHR_workgroup_memory_explicit_layout : extension revision 1
VK_KHR_zero_initialize_workgroup_memory : extension revision 1

VkQueueFamilyProperties:

    queueProperties[0]:
    -------------------
            minImageTransferGranularity = (1,1,1)
            queueCount                  = 1
            queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
            timestampValidBits          = 64
            present support             = true
            VkQueueFamilyGlobalPriorityPropertiesKHR:
            -----------------------------------------
                    priorityCount  = 2
                    priorities: count = 16
                            128
                            256
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0


    queueProperties[1]:
    -------------------
            minImageTransferGranularity = (1,1,1)
            queueCount                  = 2
            queueFlags                  = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
            timestampValidBits          = 64
            present support             = true
            VkQueueFamilyGlobalPriorityPropertiesKHR:
            -----------------------------------------
                    priorityCount  = 4
                    priorities: count = 16
                            128
                            256
                            512
                            1024
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0


    queueProperties[2]:
    -------------------
            minImageTransferGranularity = (16,16,8)
            queueCount                  = 2
            queueFlags                  = QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
            timestampValidBits          = 64
            present support             = true
            VkQueueFamilyGlobalPriorityPropertiesKHR:
            -----------------------------------------
                    priorityCount  = 2
                    priorities: count = 16
                            128
                            256
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0
                            0

VkPhysicalDeviceMemoryProperties:

memoryHeaps: count = 3
memoryHeaps[0]:
size = 8304721920 (0x1ef000000) (7.73 GiB)
budget = 7467919360 (0x1bd1f6800) (6.96 GiB)
usage = 589824 (0x00090000) (576.00 KiB)
flags: count = 2
MEMORY_HEAP_DEVICE_LOCAL_BIT
MEMORY_HEAP_MULTI_INSTANCE_BIT
memoryHeaps[1]:
size = 16871587840 (0x3eda00000) (15.71 GiB)
budget = 16335630336 (0x3cdadf000) (15.21 GiB)
usage = 331776 (0x00051000) (324.00 KiB)
flags:
None
memoryHeaps[2]:
size = 268435456 (0x10000000) (256.00 MiB)
budget = 241387296 (0x0e634720) (230.20 MiB)
usage = 0 (0x00000000) (0.00 B)
flags: count = 2
MEMORY_HEAP_DEVICE_LOCAL_BIT
MEMORY_HEAP_MULTI_INSTANCE_BIT
memoryTypes: count = 8
memoryTypes[0]:
heapIndex = 0
propertyFlags = 0x0001: count = 1
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D16_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
IMAGE_TILING_LINEAR:
color images
memoryTypes[1]:
heapIndex = 1
propertyFlags = 0x0006: count = 2
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D16_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
IMAGE_TILING_LINEAR:
color images
memoryTypes[2]:
heapIndex = 2
propertyFlags = 0x0007: count = 3
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D16_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
IMAGE_TILING_LINEAR:
color images
memoryTypes[3]:
heapIndex = 1
propertyFlags = 0x000e: count = 3
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_HOST_CACHED_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D16_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
IMAGE_TILING_LINEAR:
color images
memoryTypes[4]:
heapIndex = 0
propertyFlags = 0x00c1: count = 3
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
usable for:
IMAGE_TILING_OPTIMAL:
None
IMAGE_TILING_LINEAR:
None
memoryTypes[5]:
heapIndex = 1
propertyFlags = 0x00c6: count = 4
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
usable for:
IMAGE_TILING_OPTIMAL:
None
IMAGE_TILING_LINEAR:
None
memoryTypes[6]:
heapIndex = 2
propertyFlags = 0x00c7: count = 5
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
usable for:
IMAGE_TILING_OPTIMAL:
None
IMAGE_TILING_LINEAR:
None
memoryTypes[7]:
heapIndex = 1
propertyFlags = 0x00ce: count = 5
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_HOST_CACHED_BIT
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
usable for:
IMAGE_TILING_OPTIMAL:
None
IMAGE_TILING_LINEAR:
None

VkPhysicalDeviceFeatures:

    robustBufferAccess                      = true
    fullDrawIndexUint32                     = true
    imageCubeArray                          = true
    independentBlend                        = true
    geometryShader                          = true
    tessellationShader                      = true
    sampleRateShading                       = true
    dualSrcBlend                            = true
    logicOp                                 = true
    multiDrawIndirect                       = true
    drawIndirectFirstInstance               = true
    depthClamp                              = true
    depthBiasClamp                          = true
    fillModeNonSolid                        = true
    depthBounds                             = true
    wideLines                               = true
    largePoints                             = true
    alphaToOne                              = false
    multiViewport                           = true
    samplerAnisotropy                       = true
    textureCompressionETC2                  = false
    textureCompressionASTC_LDR              = false
    textureCompressionBC                    = true
    occlusionQueryPrecise                   = true
    pipelineStatisticsQuery                 = true
    vertexPipelineStoresAndAtomics          = true
    fragmentStoresAndAtomics                = true
    shaderTessellationAndGeometryPointSize  = true
    shaderImageGatherExtended               = true
    shaderStorageImageExtendedFormats       = true
    shaderStorageImageMultisample           = true
    shaderStorageImageReadWithoutFormat     = true
    shaderStorageImageWriteWithoutFormat    = true
    shaderUniformBufferArrayDynamicIndexing = true
    shaderSampledImageArrayDynamicIndexing  = true
    shaderStorageBufferArrayDynamicIndexing = true
    shaderStorageImageArrayDynamicIndexing  = true
    shaderClipDistance                      = true
    shaderCullDistance                      = true
    shaderFloat64                           = true
    shaderInt64                             = true
    shaderInt16                             = true
    shaderResourceResidency                 = true
    shaderResourceMinLod                    = true
    sparseBinding                           = true
    sparseResidencyBuffer                   = true
    sparseResidencyImage2D                  = true
    sparseResidencyImage3D                  = true
    sparseResidency2Samples                 = false
    sparseResidency4Samples                 = false
    sparseResidency8Samples                 = false
    sparseResidency16Samples                = false
    sparseResidencyAliased                  = true
    variableMultisampleRate                 = true
    inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeatures:

    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = false
    storageInputOutput16               = true

VkPhysicalDevice4444FormatsFeaturesEXT:

    formatA4R4G4B4 = true
    formatA4B4G4R4 = true

VkPhysicalDevice8BitStorageFeatures:

    storageBuffer8BitAccess           = true
    uniformAndStorageBuffer8BitAccess = true
    storagePushConstant8              = false

VkPhysicalDeviceBufferDeviceAddressFeatures:

    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = true
    bufferDeviceAddressMultiDevice   = true

VkPhysicalDeviceColorWriteEnableFeaturesEXT:

    colorWriteEnable = true

VkPhysicalDeviceConditionalRenderingFeaturesEXT:

    conditionalRendering          = true
    inheritedConditionalRendering = true

VkPhysicalDeviceCustomBorderColorFeaturesEXT:

    customBorderColors             = true
    customBorderColorWithoutFormat = true

VkPhysicalDeviceDepthClipControlFeaturesEXT:

    depthClipControl = true

VkPhysicalDeviceDepthClipEnableFeaturesEXT:

    depthClipEnable = true

VkPhysicalDeviceDescriptorIndexingFeatures:

    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = true
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true

VkPhysicalDeviceDynamicRenderingFeatures:

    dynamicRendering = true

VkPhysicalDeviceExtendedDynamicState2FeaturesEXT:

    extendedDynamicState2                   = true
    extendedDynamicState2LogicOp            = false
    extendedDynamicState2PatchControlPoints = false

VkPhysicalDeviceExtendedDynamicStateFeaturesEXT:

    extendedDynamicState = true

VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR:

    globalPriorityQuery = true

VkPhysicalDeviceHostQueryResetFeatures:

    hostQueryReset = true

VkPhysicalDeviceImageRobustnessFeatures:

    robustImageAccess = true

VkPhysicalDeviceImageViewMinLodFeaturesEXT:

    minLod = true

VkPhysicalDeviceImagelessFramebufferFeatures:

    imagelessFramebuffer = true

VkPhysicalDeviceIndexTypeUint8FeaturesEXT:

    indexTypeUint8 = true

VkPhysicalDeviceInlineUniformBlockFeatures:

    inlineUniformBlock                                 = true
    descriptorBindingInlineUniformBlockUpdateAfterBind = true

VkPhysicalDeviceLineRasterizationFeaturesEXT:

    rectangularLines         = false
    bresenhamLines           = true
    smoothLines              = false
    stippledRectangularLines = false
    stippledBresenhamLines   = true
    stippledSmoothLines      = false

VkPhysicalDeviceMaintenance4Features:

    maintenance4 = true

VkPhysicalDeviceMemoryPriorityFeaturesEXT:

    memoryPriority = true

VkPhysicalDeviceMultiviewFeatures:

    multiview                   = true
    multiviewGeometryShader     = false
    multiviewTessellationShader = true

VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT:

    pageableDeviceLocalMemory = true

VkPhysicalDevicePipelineCreationCacheControlFeatures:

    pipelineCreationCacheControl = true

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:

    pipelineExecutableInfo = true

VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:

    primitiveTopologyListRestart      = true
    primitiveTopologyPatchListRestart = false

VkPhysicalDevicePrivateDataFeatures:

    privateData = true

VkPhysicalDeviceProtectedMemoryFeatures:

    protectedMemory = false

VkPhysicalDeviceProvokingVertexFeaturesEXT:

    provokingVertexLast                       = true
    transformFeedbackPreservesProvokingVertex = true

VkPhysicalDeviceRobustness2FeaturesEXT:

    robustBufferAccess2 = true
    robustImageAccess2  = true
    nullDescriptor      = true

VkPhysicalDeviceSamplerYcbcrConversionFeatures:

    samplerYcbcrConversion = true

VkPhysicalDeviceScalarBlockLayoutFeatures:

    scalarBlockLayout = true

VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures:

    separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicFloatFeaturesEXT:

    shaderBufferFloat32Atomics   = true
    shaderBufferFloat32AtomicAdd = false
    shaderBufferFloat64Atomics   = true
    shaderBufferFloat64AtomicAdd = false
    shaderSharedFloat32Atomics   = true
    shaderSharedFloat32AtomicAdd = false
    shaderSharedFloat64Atomics   = true
    shaderSharedFloat64AtomicAdd = false
    shaderImageFloat32Atomics    = true
    shaderImageFloat32AtomicAdd  = false
    sparseImageFloat32Atomics    = true
    sparseImageFloat32AtomicAdd  = false

VkPhysicalDeviceShaderAtomicInt64Features:

    shaderBufferInt64Atomics = true
    shaderSharedInt64Atomics = true

VkPhysicalDeviceShaderClockFeaturesKHR:

    shaderSubgroupClock = true
    shaderDeviceClock   = true

VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures:

    shaderDemoteToHelperInvocation = true

VkPhysicalDeviceShaderDrawParametersFeatures:

    shaderDrawParameters = true

VkPhysicalDeviceShaderFloat16Int8Features:

    shaderFloat16 = true
    shaderInt8    = true

VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT:

    shaderImageInt64Atomics = true
    sparseImageInt64Atomics = true

VkPhysicalDeviceShaderIntegerDotProductFeatures:

    shaderIntegerDotProduct = true

VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:

    shaderSubgroupExtendedTypes = true

VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR:

    shaderSubgroupUniformControlFlow = true

VkPhysicalDeviceShaderTerminateInvocationFeatures:

    shaderTerminateInvocation = true

VkPhysicalDeviceSubgroupSizeControlFeatures:

    subgroupSizeControl  = true
    computeFullSubgroups = true

VkPhysicalDeviceSynchronization2Features:

    synchronization2 = true

VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:

    texelBufferAlignment = true

VkPhysicalDeviceTextureCompressionASTCHDRFeatures:

    textureCompressionASTC_HDR = false

VkPhysicalDeviceTimelineSemaphoreFeatures:

    timelineSemaphore = true

VkPhysicalDeviceTransformFeedbackFeaturesEXT:

    transformFeedback = true
    geometryStreams   = true

VkPhysicalDeviceUniformBufferStandardLayoutFeatures:

    uniformBufferStandardLayout = true

VkPhysicalDeviceVariablePointersFeatures:

    variablePointersStorageBuffer = true
    variablePointers              = true

VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:

    vertexAttributeInstanceRateDivisor     = true
    vertexAttributeInstanceRateZeroDivisor = true

VkPhysicalDeviceVulkan11Features:

    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = false
    storageInputOutput16               = true
    multiview                          = true
    multiviewGeometryShader            = false
    multiviewTessellationShader        = true
    variablePointersStorageBuffer      = true
    variablePointers                   = true
    protectedMemory                    = false
    samplerYcbcrConversion             = true
    shaderDrawParameters               = true

VkPhysicalDeviceVulkan12Features:

    samplerMirrorClampToEdge                           = true
    drawIndirectCount                                  = true
    storageBuffer8BitAccess                            = true
    uniformAndStorageBuffer8BitAccess                  = true
    storagePushConstant8                               = false
    shaderBufferInt64Atomics                           = true
    shaderSharedInt64Atomics                           = true
    shaderFloat16                                      = true
    shaderInt8                                         = true
    descriptorIndexing                                 = true
    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = true
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true
    samplerFilterMinmax                                = true
    scalarBlockLayout                                  = true
    imagelessFramebuffer                               = true
    uniformBufferStandardLayout                        = true
    shaderSubgroupExtendedTypes                        = true
    separateDepthStencilLayouts                        = true
    hostQueryReset                                     = true
    timelineSemaphore                                  = true
    bufferDeviceAddress                                = true
    bufferDeviceAddressCaptureReplay                   = true
    bufferDeviceAddressMultiDevice                     = true
    vulkanMemoryModel                                  = true
    vulkanMemoryModelDeviceScope                       = true
    vulkanMemoryModelAvailabilityVisibilityChains      = false
    shaderOutputViewportIndex                          = true
    shaderOutputLayer                                  = true
    subgroupBroadcastDynamicId                         = true

VkPhysicalDeviceVulkan13Features:

    robustImageAccess                                  = true
    inlineUniformBlock                                 = true
    descriptorBindingInlineUniformBlockUpdateAfterBind = true
    pipelineCreationCacheControl                       = true
    privateData                                        = true
    shaderDemoteToHelperInvocation                     = true
    shaderTerminateInvocation                          = true
    subgroupSizeControl                                = true
    computeFullSubgroups                               = true
    synchronization2                                   = true
    textureCompressionASTC_HDR                         = false
    shaderZeroInitializeWorkgroupMemory                = true
    dynamicRendering                                   = true
    shaderIntegerDotProduct                            = true
    maintenance4                                       = true

VkPhysicalDeviceVulkanMemoryModelFeatures:

    vulkanMemoryModel                             = true
    vulkanMemoryModelDeviceScope                  = true
    vulkanMemoryModelAvailabilityVisibilityChains = false

VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR:

    workgroupMemoryExplicitLayout                  = true
    workgroupMemoryExplicitLayoutScalarBlockLayout = true
    workgroupMemoryExplicitLayout8BitAccess        = true
    workgroupMemoryExplicitLayout16BitAccess       = true

VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:

    ycbcrImageArrays = true

VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures:

    shaderZeroInitializeWorkgroupMemory = true
</details>
commented

is overwolf overlay loaded? are these 2 files loaded automatically in your games?
"ow-vulkan-overlay64.dll" or "ow-vulkan-vulkan64.dll"

ERROR: [Loader Message] Code 0 : loader_get_json: Failed to open JSON file E:\Programfiler (x86)\Overwolf\0.187.1.13\ow-vulkan-overlay64.json
ERROR: [Loader Message] Code 0 : loader_get_json: Failed to open JSON file E:\Programfiler (x86)\Overwolf\0.187.1.13\ow-graphics-vulkan64.json

The overwolf overlay is not loaded. The E:\ driver is not even in my computer πŸ˜…

commented

still have no idea other than to use another machine

The issue is caused by this QueueSubmit
image
I'm not entirely sure but my guess is it's related to fences.

Would it make sens to assume the issue could be related to Amd card/drivers? i just noticed many users of a mod i make that uses this framework are having the same issue