HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.
GNU Lesser General Public License v2.1
1.91k stars 199 forks source link

Slideshow framerates on all tested DX12 games with RX 6700XT #1432

Closed aviallon closed 1 year ago

aviallon commented 1 year ago

Software information

Games tested :

System information

Additional informations

GPU is barely used (30% usage at 500 MHz), performance stays stuck at 10-12 FPS, 40 ms frametime, with each and any configuration combination possible (Everything Low or Ultra, nothing changes).

I tried starting the games with RADV_PERFTEST=nosam VKD3D_CONFIG=no_upload_hvv, but nothing changed.

mbriar commented 1 year ago

Can you post logs or at least the output of vulkaninfo?

aviallon commented 1 year ago

@mbriar

==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.231

Instance Extensions: count = 20
===============================
    VK_EXT_acquire_drm_display             : extension revision 1
    VK_EXT_acquire_xlib_display            : extension revision 1
    VK_EXT_debug_report                    : extension revision 10
    VK_EXT_debug_utils                     : extension revision 2
    VK_EXT_direct_mode_display             : extension revision 1
    VK_EXT_display_surface_counter         : extension revision 1
    VK_KHR_device_group_creation           : extension revision 1
    VK_KHR_display                         : extension revision 23
    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_display_properties2         : extension revision 1
    VK_KHR_get_physical_device_properties2 : extension revision 2
    VK_KHR_get_surface_capabilities2       : extension revision 1
    VK_KHR_portability_enumeration         : extension revision 1
    VK_KHR_surface                         : extension revision 25
    VK_KHR_surface_protected_capabilities  : extension revision 1
    VK_KHR_wayland_surface                 : extension revision 6
    VK_KHR_xcb_surface                     : extension revision 6
    VK_KHR_xlib_surface                    : extension revision 6

Layers: count = 13
==================
VK_LAYER_AMD_switchable_graphics_32 (AMD switchable graphics layer) Vulkan version 1.3.228, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_AMD_switchable_graphics_64 (AMD switchable graphics layer) Vulkan version 1.3.228, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MANGOAPP_overlay (Mangoapp Layer) Vulkan version 1.3.0, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MANGOHUD_overlay (Vulkan Hud Overlay) Vulkan version 1.3.0, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MANGOHUD_overlay (Vulkan Hud Overlay) Vulkan version 1.3.0, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

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

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

VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 1
        GPU id = 0 (AMD Radeon RX 6700 XT)
        Layer-Device Extensions: count = 0

Presentable Surfaces:
=====================
GPU id : 0 (AMD Radeon RX 6700 XT):
    Surface types: count = 2
        VK_KHR_xcb_surface
        VK_KHR_xlib_surface
    Formats: count = 2
        SurfaceFormat[0]:
            format = FORMAT_B8G8R8A8_UNORM
            colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
        SurfaceFormat[1]:
            format = FORMAT_B8G8R8A8_SRGB
            colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR
    Present Modes: count = 3
        PRESENT_MODE_IMMEDIATE_KHR
        PRESENT_MODE_MAILBOX_KHR
        PRESENT_MODE_FIFO_KHR
    VkSurfaceCapabilitiesKHR:
    -------------------------
        minImageCount = 2
        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 = 2
            COMPOSITE_ALPHA_OPAQUE_BIT_KHR
            COMPOSITE_ALPHA_INHERIT_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
    VkSurfaceCapabilities2EXT:
    --------------------------
        supportedSurfaceCounters:
            None
    VkSurfaceProtectedCapabilitiesKHR:
    ----------------------------------
        supportsProtected = false

Device Groups:
==============
Group 0:
    Properties:
        physicalDevices: count = 1
            AMD Radeon RX 6700 XT (ID: 0)
        subsetAllocation = 0

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

Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
    apiVersion        = 1.3.228 (4206820)
    driverVersion     = 2.0.241 (8388849)
    vendorID          = 0x1002
    deviceID          = 0x73df
    deviceType        = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName        = AMD Radeon RX 6700 XT
    pipelineCacheUUID = d2a146df-a2f9-5372-95a0-f8ee6dfcce91

VkPhysicalDeviceLimits:
-----------------------
    maxImageDimension1D                             = 16384
    maxImageDimension2D                             = 16384
    maxImageDimension3D                             = 8192
    maxImageDimensionCube                           = 16384
    maxImageArrayLayers                             = 8192
    maxTexelBufferElements                          = 4294967295
    maxUniformBufferRange                           = 4294967295
    maxStorageBufferRange                           = 4294967295
    maxPushConstantsSize                            = 128
    maxMemoryAllocationCount                        = 4294967295
    maxSamplerAllocationCount                       = 1048576
    bufferImageGranularity                          = 0x00000001
    sparseAddressSpaceSize                          = 0x7ff900000000
    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                            = 8192
    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                                 = 10
    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

VkPhysicalDeviceAccelerationStructurePropertiesKHR:
---------------------------------------------------
    maxGeometryCount                                           = 16777216
    maxInstanceCount                                           = 16777216
    maxPrimitiveCount                                          = 536870912
    maxPerStageDescriptorAccelerationStructures                = 1048576
    maxPerStageDescriptorUpdateAfterBindAccelerationStructures = 1048576
    maxDescriptorSetAccelerationStructures                     = 1048576
    maxDescriptorSetUpdateAfterBindAccelerationStructures      = 1048576
    minAccelerationStructureScratchOffsetAlignment             = 256

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

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_OPEN_SOURCE
    driverName      = AMD open-source driver
    driverInfo      = 2022.Q3.5 (LLPC)
    conformanceVersion:
        major    = 1
        minor    = 3
        subminor = 0
        patch    = 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

VkPhysicalDeviceFragmentShadingRatePropertiesKHR:
-------------------------------------------------
    minFragmentShadingRateAttachmentTexelSize:
        width  = 8
        height = 8
    maxFragmentShadingRateAttachmentTexelSize:
        width  = 8
        height = 8
    maxFragmentShadingRateAttachmentTexelSizeAspectRatio = 1
    primitiveFragmentShadingRateWithMultipleViewports    = true
    layeredShadingRateAttachments                        = false
    fragmentShadingRateNonTrivialCombinerOps             = true
    maxFragmentSize:
        width  = 2
        height = 2
    maxFragmentSizeAspectRatio                           = 2
    maxFragmentShadingRateCoverageSamples                = 32
    maxFragmentShadingRateRasterizationSamples           = SAMPLE_COUNT_16_BIT
    fragmentShadingRateWithShaderDepthStencilWrites      = false
    fragmentShadingRateWithSampleMask                    = true
    fragmentShadingRateWithShaderSampleMask              = false
    fragmentShadingRateWithConservativeRasterization     = true
    fragmentShadingRateWithFragmentShaderInterlock       = false
    fragmentShadingRateWithCustomSampleLocations         = true
    fragmentShadingRateStrictMultiplyCombiner            = true

VkPhysicalDeviceIDProperties:
-----------------------------
    deviceUUID      = 00000000-0c00-0000-0000-000000000000
    driverUUID      = 414d442d-4c49-4e55-582d-445256000000
    deviceNodeMask  = 1
    deviceLUIDValid = false

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

VkPhysicalDevicePCIBusInfoPropertiesEXT:
----------------------------------------
    pciDomain   = 0
    pciBus      = 12
    pciDevice   = 0
    pciFunction = 0

VkPhysicalDevicePointClippingProperties:
----------------------------------------
    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES

VkPhysicalDeviceProtectedMemoryProperties:
------------------------------------------
    protectedNoFault = false

VkPhysicalDeviceProvokingVertexPropertiesEXT:
---------------------------------------------
    provokingVertexModePerPipeline                       = true
    transformFeedbackPreservesTriangleFanProvokingVertex = true

VkPhysicalDevicePushDescriptorPropertiesKHR:
--------------------------------------------
    maxPushDescriptors = 32

VkPhysicalDeviceRayTracingPipelinePropertiesKHR:
------------------------------------------------
    shaderGroupHandleSize              = 32
    maxRayRecursionDepth               = 1
    maxShaderGroupStride               = 4096
    shaderGroupBaseAlignment           = 64
    shaderGroupHandleCaptureReplaySize = 32
    maxRayDispatchInvocationCount      = 1073741824
    shaderGroupHandleAlignment         = 4
    maxRayHitAttributeSize             = 32

VkPhysicalDeviceRobustness2PropertiesEXT:
-----------------------------------------
    robustStorageBufferAccessSizeAlignment = 0x00000004
    robustUniformBufferAccessSizeAlignment = 0x00000004

VkPhysicalDeviceSampleLocationsPropertiesEXT:
---------------------------------------------
    sampleLocationSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        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                                      = true
    integerDotProduct8BitSignedAccelerated                                        = true
    integerDotProduct8BitMixedSignednessAccelerated                               = false
    integerDotProduct4x8BitPackedUnsignedAccelerated                              = true
    integerDotProduct4x8BitPackedSignedAccelerated                                = true
    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 = 11
        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_RAYGEN_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
    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              = 32
    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-0c00-0000-0000-000000000000
    driverUUID                        = 414d442d-4c49-4e55-582d-445256000000
    deviceNodeMask                    = 1
    deviceLUIDValid                   = false
    subgroupSize                      = 64
    subgroupSupportedStages: count = 11
        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_RAYGEN_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
    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_OPEN_SOURCE
    driverName                                           = AMD open-source driver
    driverInfo                                           = 2022.Q3.5 (LLPC)
    conformanceVersion:
        major    = 1
        minor    = 3
        subminor = 0
        patch    = 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                                                               = 32
    maxSubgroupSize                                                               = 64
    maxComputeWorkgroupSubgroups                                                  = 4294967295
    requiredSubgroupSizeStages:
        None
    maxInlineUniformBlockSize                                                     = 65536
    maxPerStageDescriptorInlineUniformBlocks                                      = 16
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks                       = 16
    maxDescriptorSetInlineUniformBlocks                                           = 16
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks                            = 16
    maxInlineUniformTotalSize                                                     = 4294967295
    integerDotProduct8BitUnsignedAccelerated                                      = true
    integerDotProduct8BitSignedAccelerated                                        = true
    integerDotProduct8BitMixedSignednessAccelerated                               = false
    integerDotProduct4x8BitPackedUnsignedAccelerated                              = true
    integerDotProduct4x8BitPackedSignedAccelerated                                = true
    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 = 141
    VK_AMD_buffer_marker                        : extension revision 1
    VK_AMD_device_coherent_memory               : 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_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_EXT_4444_formats                         : extension revision 1
    VK_EXT_border_color_swizzle                 : 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_dma_buf              : extension revision 1
    VK_EXT_external_memory_host                 : extension revision 1
    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_pci_bus_info                         : extension revision 2
    VK_EXT_pipeline_creation_cache_control      : extension revision 3
    VK_EXT_pipeline_creation_feedback           : extension revision 1
    VK_EXT_post_depth_coverage                  : 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_atomic_float2                 : 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_acceleration_structure               : extension revision 13
    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_deferred_host_operations             : extension revision 4
    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_fd                    : extension revision 1
    VK_KHR_external_memory                      : extension revision 1
    VK_KHR_external_memory_fd                   : extension revision 1
    VK_KHR_external_semaphore                   : extension revision 1
    VK_KHR_external_semaphore_fd                : extension revision 1
    VK_KHR_format_feature_flags2                : extension revision 2
    VK_KHR_fragment_shading_rate                : extension revision 2
    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_ray_query                            : extension revision 1
    VK_KHR_ray_tracing_maintenance1             : extension revision 1
    VK_KHR_ray_tracing_pipeline                 : extension revision 1
    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_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  = 4
            priorities: count = 4
                QUEUE_GLOBAL_PRIORITY_LOW_KHR
                QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
                QUEUE_GLOBAL_PRIORITY_HIGH_KHR
                QUEUE_GLOBAL_PRIORITY_REALTIME_KHR

    queueProperties[1]:
    -------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 4
        queueFlags                  = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
        timestampValidBits          = 64
        present support             = true
        VkQueueFamilyGlobalPriorityPropertiesKHR:
        -----------------------------------------
            priorityCount  = 4
            priorities: count = 4
                QUEUE_GLOBAL_PRIORITY_LOW_KHR
                QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
                QUEUE_GLOBAL_PRIORITY_HIGH_KHR
                QUEUE_GLOBAL_PRIORITY_REALTIME_KHR

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

VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 2
    memoryHeaps[0]:
        size   = 12868124672 (0x2ff000000) (11.98 GiB)
        budget = 12224718848 (0x2d8a66800) (11.39 GiB)
        usage  = 0 (0x00000000) (0.00 B)
        flags:
            None
    memoryHeaps[1]:
        size   = 12868124672 (0x2ff000000) (11.98 GiB)
        budget = 12224718848 (0x2d8a66800) (11.39 GiB)
        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     = 1
        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     = 0
        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     = 1
        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     = 0
        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     = 1
        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     = 0
        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     = 1
        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     = 0
        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

VkPhysicalDeviceAccelerationStructureFeaturesKHR:
-------------------------------------------------
    accelerationStructure                                 = true
    accelerationStructureCaptureReplay                    = true
    accelerationStructureIndirectBuild                    = true
    accelerationStructureHostCommands                     = false
    descriptorBindingAccelerationStructureUpdateAfterBind = true

VkPhysicalDeviceBorderColorSwizzleFeaturesEXT:
----------------------------------------------
    borderColorSwizzle          = true
    borderColorSwizzleFromImage = true

VkPhysicalDeviceBufferDeviceAddressFeatures:
--------------------------------------------
    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = true
    bufferDeviceAddressMultiDevice   = false

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

VkPhysicalDeviceFragmentShadingRateFeaturesKHR:
-----------------------------------------------
    pipelineFragmentShadingRate   = true
    primitiveFragmentShadingRate  = true
    attachmentFragmentShadingRate = 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

VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT:
----------------------------------------------
    nonSeamlessCubeMap = 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

VkPhysicalDeviceRayQueryFeaturesKHR:
------------------------------------
    rayQuery = true

VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR:
--------------------------------------------------
    rayTracingMaintenance1               = true
    rayTracingPipelineTraceRaysIndirect2 = true

VkPhysicalDeviceRayTracingPipelineFeaturesKHR:
----------------------------------------------
    rayTracingPipeline                                    = true
    rayTracingPipelineShaderGroupHandleCaptureReplay      = true
    rayTracingPipelineShaderGroupHandleCaptureReplayMixed = false
    rayTracingPipelineTraceRaysIndirect                   = true
    rayTraversalPrimitiveCulling                          = true

VkPhysicalDeviceRobustness2FeaturesEXT:
---------------------------------------
    robustBufferAccess2 = true
    robustImageAccess2  = true
    nullDescriptor      = true

VkPhysicalDeviceSamplerYcbcrConversionFeatures:
-----------------------------------------------
    samplerYcbcrConversion = true

VkPhysicalDeviceScalarBlockLayoutFeatures:
------------------------------------------
    scalarBlockLayout = true

VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures:
----------------------------------------------------
    separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT:
----------------------------------------------
    shaderBufferFloat16Atomics      = false
    shaderBufferFloat16AtomicAdd    = false
    shaderBufferFloat16AtomicMinMax = false
    shaderBufferFloat32AtomicMinMax = true
    shaderBufferFloat64AtomicMinMax = true
    shaderSharedFloat16Atomics      = false
    shaderSharedFloat16AtomicAdd    = false
    shaderSharedFloat16AtomicMinMax = false
    shaderSharedFloat32AtomicMinMax = true
    shaderSharedFloat64AtomicMinMax = true
    shaderImageFloat32AtomicMinMax  = true
    sparseImageFloat32AtomicMinMax  = 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                     = false
    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
mbriar commented 1 year ago

You are using AMDVLK and not Mesa/RADV. Poor performance in d3d12 games with AMDVLK is expected at the moment, uninstall AMDVLK and/or amdgpu-pro vulkan, if you have that.

mbriar commented 1 year ago

It would say

deviceName        = AMD Radeon RX 6700 XT (RADV NAVI22)

if it was using RADV.

aviallon commented 1 year ago

Oooh, I was wondering how you saw that. Well, I guess I'm stupid. I was aware of that issue... but I was absolutely sure I was using RADV :'(

aviallon commented 1 year ago

For future googlers : AMD_VULKAN_ICD=RADV to use RADV without uninstalling AMDVLK

Blisto91 commented 1 year ago

Almost don't have time to read the issues before mbriar have solved them :smile: