o3de / ROSConDemo

A robotic fruit picking demo project for O3DE with ROS 2 Gem
Other
63 stars 21 forks source link

RHISystem: Failed to initialize RHI device #269

Closed LuisFGutierrez01 closed 6 months ago

LuisFGutierrez01 commented 7 months ago

I have been been able to run O3DE successfully using the dockerfile build provided in the git repository. However, now when I try it again, it fails giving me MESA, Vulkan, libGL, and RHI errors when I try to run the O3DE editor. I am assuming there are some compatibility issues with firmware since I last used it. Any help would be appreciated.

Error terminal output:

root@a1caf06b1114:/data/workspace# /data/workspace/ROSConDemo/Project/build/linux/bin/profile/Editor
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libEditorLib.so
Module: Success!
MESA: error: Failed to query drm device.
libGL error: glx: failed to create dri3 screen
libGL error: failed to load driver: iris
libGL error: failed to open /dev/dri/card0: No such file or directory
libGL error: failed to load driver: iris
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libAtomViewportDisplayInfo.so
Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libCamera.Editor.so
Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libAtomLyIntegration_CommonFeatures.Editor.so
Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libLmbrCentral.Editor.so
Module: Success!

...

Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libSceneCore.so
Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libSceneData.so
Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libSceneBuilder.so
Module: Success!
Module: Attempting to load module:/data/workspace/ROSConDemo/Project/build/linux/bin/profile/libSceneCore.so
Module: Success!
System: Network layer initialized
System: AudioSystem created!
RHISystem: Initializing RHI...
RHISystem:  Enumerated physical device: llvmpipe (LLVM 15.0.7, 256 bits)
RHISystem:  Using physical device: llvmpipe (LLVM 15.0.7, 256 bits)
System: 
==================================================================
System: Trace::Assert
 /data/workspace/o3de/Gems/Atom/RHI/Vulkan/Code/Source/RHI/Vulkan.h(102): (139944332287232) 'void AZ::Vulkan::AssertSuccess(VkResult)'
System: ASSERT: Vulkan API method failed: Feature not present
System: ------------------------------------------------
System: AZ::Vulkan::Device::InitInternal(AZ::RHI::PhysicalDevice&) (+0xc1e) [0x7f460aa3232e]
System: AZ::RHI::Device::Init(int, AZ::RHI::PhysicalDevice&) (+0xb4) [0x7f45fa659e14]
System: AZ::RHI::RHISystem::InitInternalDevices(AZ::RHI::InitDevicesFlags) (+0x8b3) [0x7f45fa5ebb33]
System: AZ::RHI::RHISystem::InitDevices(AZ::RHI::InitDevicesFlags) (+0x45) [0x7f45fa5eb255]
System: AZ::RPI::RPISystem::Initialize(AZ::RPI::RPISystemDescriptor const&) (+0x9b) [0x7f45fa23c73b]
System: AZ::RPI::RPISystemComponent::Activate() (+0x254) [0x7f45f9f3b8c4]
System: AZ::ModuleManager::ActivateEntities(AZStd::vector<AZStd::shared_ptr<AZ::ModuleDataImpl>, AZStd::allocator> const&) (+0xb16) [0x7f474f1266d6]
System: non-virtual thunk to AZ::ModuleManager::OnEntityActivated(AZ::EntityId const&) (+0x94) [0x7f474f127064]
System: void AZ::Internal::EBusContainer<AZ::EntityEvents, AZ::EntityEvents, (AZ::EBusAddressPolicy)1, (AZ::EBusHandlerPolicy)1>::Dispatcher<AZ::EBus<AZ::EntityEvents, AZ::EntityEvents> >::Event<void (AZ::EntityEvents::*)(AZ::EntityId const&), AZ::EntityId&>(AZ:
System: AZ::Entity::Activate() (+0x12a) [0x7f474f668b4a]
System: AzFramework::Application::StartCommon(AZ::Entity*) (+0x5a) [0x7f475224e00a]
System: AzToolsFramework::ToolsApplication::StartCommon(AZ::Entity*) (+0x19) [0x7f475053d189]
System: EditorInternal::EditorToolsApplication::StartCommon(AZ::Entity*) (+0x1c) [0x7f474ec2dcdc]
System: AzFramework::Application::Start(AZ::ComponentApplication::Descriptor const&, AZ::ComponentApplication::StartupParameters const&) (+0x3c) [0x7f475224df8c]
System: AzToolsFramework::ToolsApplication::Start(AZ::ComponentApplication::Descriptor const&, AZ::ComponentApplication::StartupParameters const&) (+0x4b) [0x7f475053d0eb]
System: EditorInternal::EditorToolsApplication::Start() (+0x56) [0x7f474ec2dd76]
System: CryEditMain (+0x494) [0x7f474ecd0e64]
System: main (+0xe0) [0x559cf7a87680]
System: __libc_init_first (+0x90) [0x7f4754407d90]
System: __libc_start_main (+0x80) [0x7f4754407e40]
System: _start (+0x25) [0x559cf7a874d5]
System: ==================================================================
System: ====Assert added to ignore list by spec and verbosity setting.====
RHISystem: 
==================================================================
RHISystem: Trace::Error
 /data/workspace/o3de/Gems/Atom/RHI/Code/Source/RHI/RHISystem.cpp(202): 'AZ::RHI::ResultCode AZ::RHI::RHISystem::InitInternalDevices(AZ::RHI::InitDevicesFlags)'
RHISystem: Failed to initialize RHI device.
RHISystem: ==================================================================
Segmentation fault (core dumped)

Nvidia details:

❯ nvidia-smi
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.02              Driver Version: 545.29.02    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA RTX A1000 Laptop GPU    Off | 00000000:01:00.0 Off |                  N/A |
| N/A   53C    P8               4W /  40W |      8MiB /  4096MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      4810      G   /usr/lib/xorg/Xorg                            4MiB |
+---------------------------------------------------------------------------------------+

Cuda compiler:

❯ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0

OS Version:

❯ cat /etc/os-release
NAME="Pop!_OS"
VERSION="22.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 22.04 LTS"
VERSION_ID="22.04"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
LOGO=distributor-logo-pop-os
pijaro commented 7 months ago

Could you show the output of vulkaninfo?

(If missing, install the vulkan utils with apt install vulkan-tools)

LuisFGutierrez01 commented 7 months ago

Could you show the output of vulkaninfo?

(If missing, install the vulkan utils with apt install vulkan-tools)

Hello @pijaro, I have 3 detected devices showing up on vulkaninfo, I will only post the contents relating to the GPU I would like to use, the Nvidia RTX A1000:

❯ vulkaninfo                   
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.204

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_EXT_swapchain_colorspace            : extension revision 4
    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_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 = 4
=================
VK_LAYER_INTEL_nullhw (INTEL NULL HW) Vulkan version 1.1.73, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 3
        GPU id = 0 (Intel(R) Graphics (ADL GT2))
        Layer-Device Extensions: count = 0

        GPU id = 1 (llvmpipe (LLVM 15.0.7, 256 bits))
        Layer-Device Extensions: count = 0

        GPU id = 2 (NVIDIA RTX A1000 Laptop GPU)
        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 = 3
        GPU id = 0 (Intel(R) Graphics (ADL GT2))
        Layer-Device Extensions: count = 0

        GPU id = 1 (llvmpipe (LLVM 15.0.7, 256 bits))
        Layer-Device Extensions: count = 0

        GPU id = 2 (NVIDIA RTX A1000 Laptop GPU)
        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 = 3
        GPU id = 0 (Intel(R) Graphics (ADL GT2))
        Layer-Device Extensions: count = 0

        GPU id = 1 (llvmpipe (LLVM 15.0.7, 256 bits))
        Layer-Device Extensions: count = 0

        GPU id = 2 (NVIDIA RTX A1000 Laptop GPU)
        Layer-Device Extensions: count = 0

VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.3.260, layer version 1:
    Layer Extensions: count = 0
    Devices: count = 3
        GPU id = 0 (Intel(R) Graphics (ADL GT2))
        Layer-Device Extensions: count = 0

        GPU id = 1 (llvmpipe (LLVM 15.0.7, 256 bits))
        Layer-Device Extensions: count = 0

        GPU id = 2 (NVIDIA RTX A1000 Laptop GPU)
        Layer-Device Extensions: count = 0

Presentable Surfaces:
=====================
GPU id : 2 (NVIDIA RTX A1000 Laptop GPU):
    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 = 2
        PRESENT_MODE_FIFO_KHR
        PRESENT_MODE_IMMEDIATE_KHR
    VkSurfaceCapabilitiesKHR:
    -------------------------
        minImageCount = 2
        maxImageCount = 8
        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
    VkSurfaceCapabilities2EXT:
    --------------------------
        supportedSurfaceCounters:
            None
    VkSharedPresentSurfaceCapabilitiesKHR:
    --------------------------------------
        sharedPresentSupportedUsageFlags: 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

    VkSurfaceProtectedCapabilitiesKHR:
    ----------------------------------
        supportsProtected = false

Device Groups:
==============
Group 2:
    Properties:
        physicalDevices: count = 1
            NVIDIA RTX A1000 Laptop GPU (ID: 0)
        subsetAllocation = 0

    Present Capabilities:
        NVIDIA RTX A1000 Laptop GPU (ID: 0):
            Can present images from the following devices: count = 1
                NVIDIA RTX A1000 Laptop GPU (ID: 0)
        Present modes: count = 1
            DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR

Device Properties and Extensions:
=================================
GPU2:
VkPhysicalDeviceProperties:
---------------------------
    apiVersion        = 4206852 (1.3.260)
    driverVersion     = 2286370944 (0x88474080)
    vendorID          = 0x10de
    deviceID          = 0x25b9
    deviceType        = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName        = NVIDIA RTX A1000 Laptop GPU
    pipelineCacheUUID = 01569151-7f78-585f-ccb4-0cbaf4db5c43

VkPhysicalDeviceLimits:
-----------------------
    maxImageDimension1D                             = 32768
    maxImageDimension2D                             = 32768
    maxImageDimension3D                             = 16384
    maxImageDimensionCube                           = 32768
    maxImageArrayLayers                             = 2048
    maxTexelBufferElements                          = 134217728
    maxUniformBufferRange                           = 65536
    maxStorageBufferRange                           = 4294967295
    maxPushConstantsSize                            = 256
    maxMemoryAllocationCount                        = 4294967295
    maxSamplerAllocationCount                       = 4000
    bufferImageGranularity                          = 0x00000400
    sparseAddressSpaceSize                          = 0xffffffffff
    maxBoundDescriptorSets                          = 32
    maxPerStageDescriptorSamplers                   = 1048576
    maxPerStageDescriptorUniformBuffers             = 1048576
    maxPerStageDescriptorStorageBuffers             = 1048576
    maxPerStageDescriptorSampledImages              = 1048576
    maxPerStageDescriptorStorageImages              = 1048576
    maxPerStageDescriptorInputAttachments           = 1048576
    maxPerStageResources                            = 4294967295
    maxDescriptorSetSamplers                        = 1048576
    maxDescriptorSetUniformBuffers                  = 1048576
    maxDescriptorSetUniformBuffersDynamic           = 15
    maxDescriptorSetStorageBuffers                  = 1048576
    maxDescriptorSetStorageBuffersDynamic           = 16
    maxDescriptorSetSampledImages                   = 1048576
    maxDescriptorSetStorageImages                   = 1048576
    maxDescriptorSetInputAttachments                = 1048576
    maxVertexInputAttributes                        = 32
    maxVertexInputBindings                          = 32
    maxVertexInputAttributeOffset                   = 2047
    maxVertexInputBindingStride                     = 2048
    maxVertexOutputComponents                       = 128
    maxTessellationGenerationLevel                  = 64
    maxTessellationPatchSize                        = 32
    maxTessellationControlPerVertexInputComponents  = 128
    maxTessellationControlPerVertexOutputComponents = 128
    maxTessellationControlPerPatchOutputComponents  = 120
    maxTessellationControlTotalOutputComponents     = 4216
    maxTessellationEvaluationInputComponents        = 128
    maxTessellationEvaluationOutputComponents       = 128
    maxGeometryShaderInvocations                    = 32
    maxGeometryInputComponents                      = 128
    maxGeometryOutputComponents                     = 128
    maxGeometryOutputVertices                       = 1024
    maxGeometryTotalOutputComponents                = 1024
    maxFragmentInputComponents                      = 128
    maxFragmentOutputAttachments                    = 8
    maxFragmentDualSrcAttachments                   = 1
    maxFragmentCombinedOutputResources              = 4294967295
    maxComputeSharedMemorySize                      = 49152
    maxComputeWorkGroupCount: count = 3
        2147483647
        65535
        65535
    maxComputeWorkGroupInvocations                  = 1024
    maxComputeWorkGroupSize: count = 3
        1024
        1024
        64
    subPixelPrecisionBits                           = 8
    subTexelPrecisionBits                           = 8
    mipmapPrecisionBits                             = 8
    maxDrawIndexedIndexValue                        = 4294967295
    maxDrawIndirectCount                            = 4294967295
    maxSamplerLodBias                               = 15
    maxSamplerAnisotropy                            = 16
    maxViewports                                    = 16
    maxViewportDimensions: count = 2
        32768
        32768
    viewportBoundsRange: count = 2
        -65536
        65536
    viewportSubPixelBits                            = 8
    minMemoryMapAlignment                           = 64
    minTexelBufferOffsetAlignment                   = 0x00000010
    minUniformBufferOffsetAlignment                 = 0x00000040
    minStorageBufferOffsetAlignment                 = 0x00000010
    minTexelOffset                                  = -8
    maxTexelOffset                                  = 7
    minTexelGatherOffset                            = -32
    maxTexelGatherOffset                            = 31
    minInterpolationOffset                          = -0.5
    maxInterpolationOffset                          = 0.4375
    subPixelInterpolationOffsetBits                 = 4
    maxFramebufferWidth                             = 32768
    maxFramebufferHeight                            = 32768
    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 = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_BIT
    framebufferNoAttachmentsSampleCounts: count = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_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 = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_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                                 = 1
    maxClipDistances                                = 8
    maxCullDistances                                = 8
    maxCombinedClipAndCullDistances                 = 8
    discreteQueuePriorities                         = 2
    pointSizeRange: count = 2
        1
        2047.94
    lineWidthRange: count = 2
        1
        64
    pointSizeGranularity                            = 0.0625
    lineWidthGranularity                            = 0.0625
    strictLines                                     = true
    standardSampleLocations                         = true
    optimalBufferCopyOffsetAlignment                = 0x00000001
    optimalBufferCopyRowPitchAlignment              = 0x00000001
    nonCoherentAtomSize                             = 0x00000040

VkPhysicalDeviceSparseProperties:
---------------------------------
    residencyStandard2DBlockShape            = true
    residencyStandard2DMultisampleBlockShape = true
    residencyStandard3DBlockShape            = true
    residencyAlignedMipSize                  = false
    residencyNonResidentStrict               = true

VkPhysicalDeviceAccelerationStructurePropertiesKHR:
---------------------------------------------------
    maxGeometryCount                                           = 16777215
    maxInstanceCount                                           = 16777215
    maxPrimitiveCount                                          = 536870911
    maxPerStageDescriptorAccelerationStructures                = 1048576
    maxPerStageDescriptorUpdateAfterBindAccelerationStructures = 1048576
    maxDescriptorSetAccelerationStructures                     = 1048576
    maxDescriptorSetUpdateAfterBindAccelerationStructures      = 1048576
    minAccelerationStructureScratchOffsetAlignment             = 128

VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT:
----------------------------------------------------
    advancedBlendMaxColorAttachments      = 8
    advancedBlendIndependentBlend         = false
    advancedBlendNonPremultipliedSrcColor = true
    advancedBlendNonPremultipliedDstColor = true
    advancedBlendCorrelatedOverlap        = true
    advancedBlendAllOperations            = true

VkPhysicalDeviceConservativeRasterizationPropertiesEXT:
-------------------------------------------------------
    primitiveOverestimationSize                 = 0.00195312
    maxExtraPrimitiveOverestimationSize         = 0.75
    extraPrimitiveOverestimationSizeGranularity = 0.25
    primitiveUnderestimation                    = true
    conservativePointAndLineRasterization       = true
    degenerateTrianglesRasterized               = true
    degenerateLinesRasterized                   = true
    fullyCoveredFragmentShaderInputVariable     = true
    conservativeRasterizationPostDepthCoverage  = true

VkPhysicalDeviceCustomBorderColorPropertiesEXT:
-----------------------------------------------
    maxCustomBorderColorSamplers = 4000

VkPhysicalDeviceDepthStencilResolveProperties:
----------------------------------------------
    supportedDepthResolveModes: count = 4
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_AVERAGE_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     = true
    shaderSampledImageArrayNonUniformIndexingNative      = true
    shaderStorageBufferArrayNonUniformIndexingNative     = true
    shaderStorageImageArrayNonUniformIndexingNative      = true
    shaderInputAttachmentArrayNonUniformIndexingNative   = true
    robustBufferAccessUpdateAfterBind                    = true
    quadDivergentImplicitLod                             = true
    maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
    maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
    maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576

VkPhysicalDeviceDiscardRectanglePropertiesEXT:
----------------------------------------------
    maxDiscardRectangles = 8

VkPhysicalDeviceDriverProperties:
---------------------------------
    driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName         = NVIDIA
    driverInfo         = 545.29.02
    conformanceVersion = 1.3.6.0

VkPhysicalDeviceDrmPropertiesEXT:
---------------------------------
    hasPrimary   = true
    hasRender    = true
    primaryMajor = 226
    primaryMinor = 1
    renderMajor  = 226
    renderMinor  = 129

VkPhysicalDeviceExternalMemoryHostPropertiesEXT:
------------------------------------------------
    minImportedHostPointerAlignment = 0x00001000

VkPhysicalDeviceFloatControlsProperties:
----------------------------------------
    denormBehaviorIndependence            = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence              = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16 = true
    shaderSignedZeroInfNanPreserveFloat32 = true
    shaderSignedZeroInfNanPreserveFloat64 = true
    shaderDenormPreserveFloat16           = true
    shaderDenormPreserveFloat32           = false
    shaderDenormPreserveFloat64           = false
    shaderDenormFlushToZeroFloat16        = false
    shaderDenormFlushToZeroFloat32        = false
    shaderDenormFlushToZeroFloat64        = false
    shaderRoundingModeRTEFloat16          = true
    shaderRoundingModeRTEFloat32          = true
    shaderRoundingModeRTEFloat64          = true
    shaderRoundingModeRTZFloat16          = false
    shaderRoundingModeRTZFloat32          = true
    shaderRoundingModeRTZFloat64          = true

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

VkPhysicalDeviceIDProperties:
-----------------------------
    deviceUUID      = c1fa4962-32bc-9a33-ded3-45793853b649
    driverUUID      = aa471f58-d70e-5a93-a86b-06356da49d1c
    deviceNodeMask  = 1
    deviceLUIDValid = false

VkPhysicalDeviceInlineUniformBlockProperties:
---------------------------------------------
    maxInlineUniformBlockSize                               = 256
    maxPerStageDescriptorInlineUniformBlocks                = 32
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
    maxDescriptorSetInlineUniformBlocks                     = 32
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 32

VkPhysicalDeviceLineRasterizationPropertiesEXT:
-----------------------------------------------
    lineSubPixelPrecisionBits = 8

VkPhysicalDeviceMaintenance3Properties:
---------------------------------------
    maxPerSetDescriptors    = 4294967295
    maxMemoryAllocationSize = 0xffe00000

VkPhysicalDeviceMaintenance4Properties:
---------------------------------------
    maxBufferSize = 0xffffff0000

VkPhysicalDeviceMultiDrawPropertiesEXT:
---------------------------------------
    maxMultiDrawCount = 4294967295

VkPhysicalDeviceMultiviewProperties:
------------------------------------
    maxMultiviewViewCount     = 32
    maxMultiviewInstanceIndex = 134217727

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

VkPhysicalDevicePointClippingProperties:
----------------------------------------
    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY

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

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

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

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

VkPhysicalDeviceRobustness2PropertiesEXT:
-----------------------------------------
    robustStorageBufferAccessSizeAlignment = 0x00000001
    robustUniformBufferAccessSizeAlignment = 0x00000010

VkPhysicalDeviceSampleLocationsPropertiesEXT:
---------------------------------------------
    sampleLocationSampleCounts: count = 5
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT
        SAMPLE_COUNT_16_BIT
    maxSampleLocationGridSize:
        width  = 1
        height = 1
    sampleLocationCoordinateRange: count = 2
        0
        0.9375
    sampleLocationSubPixelBits       = 4
    variableSampleLocations          = true

VkPhysicalDeviceSamplerFilterMinmaxProperties:
----------------------------------------------
    filterMinmaxSingleComponentFormats = true
    filterMinmaxImageComponentMapping  = true

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

VkPhysicalDeviceSubgroupProperties:
-----------------------------------
    subgroupSize              = 32
    supportedStages: count = 16
        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
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
        SHADER_STAGE_TASK_BIT_NV
        SHADER_STAGE_MESH_BIT_NV
    supportedOperations: count = 9
        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
        SUBGROUP_FEATURE_PARTITIONED_BIT_NV
    quadOperationsInAllStages = true

VkPhysicalDeviceSubgroupSizeControlProperties:
----------------------------------------------
    minSubgroupSize              = 32
    maxSubgroupSize              = 32
    maxComputeWorkgroupSubgroups = 2097152
    requiredSubgroupSizeStages: count = 16
        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
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
        SHADER_STAGE_TASK_BIT_NV
        SHADER_STAGE_MESH_BIT_NV

VkPhysicalDeviceTexelBufferAlignmentProperties:
-----------------------------------------------
    storageTexelBufferOffsetAlignmentBytes       = 0x00000010
    storageTexelBufferOffsetSingleTexelAlignment = true
    uniformTexelBufferOffsetAlignmentBytes       = 0x00000010
    uniformTexelBufferOffsetSingleTexelAlignment = true

VkPhysicalDeviceTimelineSemaphoreProperties:
--------------------------------------------
    maxTimelineSemaphoreValueDifference = 18446744073709551615

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

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
    maxVertexAttribDivisor = 4294967295

VkPhysicalDeviceVulkan11Properties:
-----------------------------------
    deviceUUID                        = c1fa4962-32bc-9a33-ded3-45793853b649
    driverUUID                        = aa471f58-d70e-5a93-a86b-06356da49d1c
    deviceNodeMask                    = 1
    deviceLUIDValid                   = false
    subgroupSize                      = 32
    subgroupSupportedStages: count = 16
        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
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
        SHADER_STAGE_TASK_BIT_NV
        SHADER_STAGE_MESH_BIT_NV
    subgroupSupportedOperations: count = 9
        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
        SUBGROUP_FEATURE_PARTITIONED_BIT_NV
    subgroupQuadOperationsInAllStages = true
    pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
    maxMultiviewViewCount             = 32
    maxMultiviewInstanceIndex         = 134217727
    protectedNoFault                  = false
    maxPerSetDescriptors              = 4294967295
    maxMemoryAllocationSize           = 0xffe00000

VkPhysicalDeviceVulkan12Properties:
-----------------------------------
    driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName                                           = NVIDIA
    driverInfo                                           = 545.29.02
    conformanceVersion                                   = 1.3.6.0
    denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16                = true
    shaderSignedZeroInfNanPreserveFloat32                = true
    shaderSignedZeroInfNanPreserveFloat64                = true
    shaderDenormPreserveFloat16                          = true
    shaderDenormPreserveFloat32                          = false
    shaderDenormPreserveFloat64                          = false
    shaderDenormFlushToZeroFloat16                       = false
    shaderDenormFlushToZeroFloat32                       = false
    shaderDenormFlushToZeroFloat64                       = false
    shaderRoundingModeRTEFloat16                         = true
    shaderRoundingModeRTEFloat32                         = true
    shaderRoundingModeRTEFloat64                         = true
    shaderRoundingModeRTZFloat16                         = false
    shaderRoundingModeRTZFloat32                         = true
    shaderRoundingModeRTZFloat64                         = true
    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = true
    shaderSampledImageArrayNonUniformIndexingNative      = true
    shaderStorageBufferArrayNonUniformIndexingNative     = true
    shaderStorageImageArrayNonUniformIndexingNative      = true
    shaderInputAttachmentArrayNonUniformIndexingNative   = true
    robustBufferAccessUpdateAfterBind                    = true
    quadDivergentImplicitLod                             = true
    maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
    maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
    maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576
    supportedDepthResolveModes: count = 4
        RESOLVE_MODE_SAMPLE_ZERO_BIT
        RESOLVE_MODE_AVERAGE_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                  = 18446744073709551615
    framebufferIntegerColorSampleCounts: count = 4
        SAMPLE_COUNT_1_BIT
        SAMPLE_COUNT_2_BIT
        SAMPLE_COUNT_4_BIT
        SAMPLE_COUNT_8_BIT

VkPhysicalDeviceVulkan13Properties:
-----------------------------------
    minSubgroupSize                                                               = 32
    maxSubgroupSize                                                               = 32
    maxComputeWorkgroupSubgroups                                                  = 2097152
    requiredSubgroupSizeStages: count = 16
        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
        SHADER_STAGE_RAYGEN_BIT_KHR
        SHADER_STAGE_ANY_HIT_BIT_KHR
        SHADER_STAGE_CLOSEST_HIT_BIT_KHR
        SHADER_STAGE_MISS_BIT_KHR
        SHADER_STAGE_INTERSECTION_BIT_KHR
        SHADER_STAGE_CALLABLE_BIT_KHR
        SHADER_STAGE_TASK_BIT_NV
        SHADER_STAGE_MESH_BIT_NV
    maxInlineUniformBlockSize                                                     = 256
    maxPerStageDescriptorInlineUniformBlocks                                      = 32
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks                       = 32
    maxDescriptorSetInlineUniformBlocks                                           = 32
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks                            = 32
    maxInlineUniformTotalSize                                                     = 3584
    integerDotProduct8BitUnsignedAccelerated                                      = true
    integerDotProduct8BitSignedAccelerated                                        = true
    integerDotProduct8BitMixedSignednessAccelerated                               = true
    integerDotProduct4x8BitPackedUnsignedAccelerated                              = true
    integerDotProduct4x8BitPackedSignedAccelerated                                = true
    integerDotProduct4x8BitPackedMixedSignednessAccelerated                       = true
    integerDotProduct16BitUnsignedAccelerated                                     = false
    integerDotProduct16BitSignedAccelerated                                       = false
    integerDotProduct16BitMixedSignednessAccelerated                              = false
    integerDotProduct32BitUnsignedAccelerated                                     = false
    integerDotProduct32BitSignedAccelerated                                       = false
    integerDotProduct32BitMixedSignednessAccelerated                              = false
    integerDotProduct64BitUnsignedAccelerated                                     = false
    integerDotProduct64BitSignedAccelerated                                       = false
    integerDotProduct64BitMixedSignednessAccelerated                              = false
    integerDotProductAccumulatingSaturating8BitUnsignedAccelerated                = true
    integerDotProductAccumulatingSaturating8BitSignedAccelerated                  = true
    integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated         = true
    integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated        = true
    integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated          = true
    integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = true
    integerDotProductAccumulatingSaturating16BitUnsignedAccelerated               = true
    integerDotProductAccumulatingSaturating16BitSignedAccelerated                 = true
    integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated        = true
    integerDotProductAccumulatingSaturating32BitUnsignedAccelerated               = true
    integerDotProductAccumulatingSaturating32BitSignedAccelerated                 = true
    integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated        = true
    integerDotProductAccumulatingSaturating64BitUnsignedAccelerated               = true
    integerDotProductAccumulatingSaturating64BitSignedAccelerated                 = true
    integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated        = true
    storageTexelBufferOffsetAlignmentBytes                                        = 0x00000010
    storageTexelBufferOffsetSingleTexelAlignment                                  = true
    uniformTexelBufferOffsetAlignmentBytes                                        = 0x00000010
    uniformTexelBufferOffsetSingleTexelAlignment                                  = true
    maxBufferSize                                                                 = 0xffffff0000

Device Extensions: count = 201
    VK_AMD_buffer_marker                          : extension revision 1
    VK_EXT_4444_formats                           : extension revision 1
    VK_EXT_attachment_feedback_loop_dynamic_state : extension revision 1
    VK_EXT_attachment_feedback_loop_layout        : extension revision 2
    VK_EXT_blend_operation_advanced               : extension revision 2
    VK_EXT_border_color_swizzle                   : extension revision 1
    VK_EXT_buffer_device_address                  : extension revision 2
    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_bias_control                     : extension revision 1
    VK_EXT_depth_clamp_zero_one                   : extension revision 1
    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_buffer                      : extension revision 1
    VK_EXT_descriptor_indexing                    : extension revision 2
    VK_EXT_discard_rectangles                     : extension revision 2
    VK_EXT_display_control                        : extension revision 1
    VK_EXT_dynamic_rendering_unused_attachments   : extension revision 1
    VK_EXT_extended_dynamic_state                 : extension revision 1
    VK_EXT_extended_dynamic_state2                : extension revision 1
    VK_EXT_extended_dynamic_state3                : extension revision 2
    VK_EXT_external_memory_dma_buf                : extension revision 1
    VK_EXT_external_memory_host                   : extension revision 1
    VK_EXT_fragment_shader_interlock              : extension revision 1
    VK_EXT_global_priority                        : extension revision 2
    VK_EXT_global_priority_query                  : extension revision 1
    VK_EXT_graphics_pipeline_library              : extension revision 1
    VK_EXT_host_image_copy                        : extension revision 1
    VK_EXT_host_query_reset                       : extension revision 1
    VK_EXT_image_2d_view_of_3d                    : extension revision 1
    VK_EXT_image_drm_format_modifier              : extension revision 2
    VK_EXT_image_robustness                       : extension revision 1
    VK_EXT_image_sliced_view_of_3d                : 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_mesh_shader                            : extension revision 1
    VK_EXT_multi_draw                             : extension revision 1
    VK_EXT_mutable_descriptor_type                : extension revision 1
    VK_EXT_non_seamless_cube_map                  : extension revision 1
    VK_EXT_opacity_micromap                       : extension revision 2
    VK_EXT_pageable_device_local_memory           : extension revision 1
    VK_EXT_pci_bus_info                           : extension revision 2
    VK_EXT_physical_device_drm                    : extension revision 1
    VK_EXT_pipeline_creation_cache_control        : extension revision 3
    VK_EXT_pipeline_creation_feedback             : extension revision 1
    VK_EXT_pipeline_library_group_handles         : extension revision 1
    VK_EXT_pipeline_robustness                    : extension revision 1
    VK_EXT_post_depth_coverage                    : extension revision 1
    VK_EXT_primitive_topology_list_restart        : extension revision 1
    VK_EXT_primitives_generated_query             : 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_module_identifier               : extension revision 1
    VK_EXT_shader_object                          : 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_swapchain_maintenance1                 : extension revision 1
    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_vertex_input_dynamic_state             : extension revision 2
    VK_EXT_ycbcr_2plane_444_formats               : extension revision 1
    VK_EXT_ycbcr_image_arrays                     : 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_cooperative_matrix                     : extension revision 2
    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_shader_barycentric            : extension revision 1
    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_maintenance5                           : extension revision 1
    VK_KHR_map_memory2                            : extension revision 1
    VK_KHR_multiview                              : extension revision 1
    VK_KHR_pipeline_executable_properties         : extension revision 1
    VK_KHR_pipeline_library                       : extension revision 1
    VK_KHR_present_id                             : extension revision 1
    VK_KHR_present_wait                           : 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_ray_tracing_position_fetch             : 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_shared_presentable_image               : 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_video_decode_h264                      : extension revision 8
    VK_KHR_video_decode_h265                      : extension revision 7
    VK_KHR_video_decode_queue                     : extension revision 7
    VK_KHR_video_queue                            : extension revision 8
    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
    VK_NVX_binary_import                          : extension revision 1
    VK_NVX_image_view_handle                      : extension revision 2
    VK_NVX_multiview_per_view_attributes          : extension revision 1
    VK_NV_clip_space_w_scaling                    : extension revision 1
    VK_NV_compute_shader_derivatives              : extension revision 1
    VK_NV_cooperative_matrix                      : extension revision 1
    VK_NV_copy_memory_indirect                    : extension revision 1
    VK_NV_corner_sampled_image                    : extension revision 2
    VK_NV_coverage_reduction_mode                 : extension revision 1
    VK_NV_cuda_kernel_launch                      : extension revision 2
    VK_NV_dedicated_allocation                    : extension revision 1
    VK_NV_dedicated_allocation_image_aliasing     : extension revision 1
    VK_NV_device_diagnostic_checkpoints           : extension revision 2
    VK_NV_device_diagnostics_config               : extension revision 2
    VK_NV_device_generated_commands               : extension revision 3
    VK_NV_device_generated_commands_compute       : extension revision 2
    VK_NV_fill_rectangle                          : extension revision 1
    VK_NV_fragment_coverage_to_color              : extension revision 1
    VK_NV_fragment_shader_barycentric             : extension revision 1
    VK_NV_fragment_shading_rate_enums             : extension revision 1
    VK_NV_framebuffer_mixed_samples               : extension revision 1
    VK_NV_geometry_shader_passthrough             : extension revision 1
    VK_NV_inherited_viewport_scissor              : extension revision 1
    VK_NV_linear_color_attachment                 : extension revision 1
    VK_NV_low_latency                             : extension revision 1
    VK_NV_low_latency2                            : extension revision 1
    VK_NV_memory_decompression                    : extension revision 1
    VK_NV_mesh_shader                             : extension revision 1
    VK_NV_optical_flow                            : extension revision 1
    VK_NV_present_barrier                         : extension revision 1
    VK_NV_ray_tracing                             : extension revision 3
    VK_NV_ray_tracing_invocation_reorder          : extension revision 1
    VK_NV_ray_tracing_motion_blur                 : extension revision 1
    VK_NV_representative_fragment_test            : extension revision 2
    VK_NV_sample_mask_override_coverage           : extension revision 1
    VK_NV_scissor_exclusive                       : extension revision 2
    VK_NV_shader_image_footprint                  : extension revision 2
    VK_NV_shader_sm_builtins                      : extension revision 1
    VK_NV_shader_subgroup_partitioned             : extension revision 1
    VK_NV_shading_rate_image                      : extension revision 3
    VK_NV_viewport_array2                         : extension revision 1
    VK_NV_viewport_swizzle                        : extension revision 1

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

        VkQueueFamilyQueryResultStatusProperties2KHR:
        ---------------------------------------------
            supported = false

        VkVideoQueueFamilyProperties2KHR:
        ---------------------------------
            videoCodecOperations:
                None

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

        VkQueueFamilyQueryResultStatusProperties2KHR:
        ---------------------------------------------
            supported = false

        VkVideoQueueFamilyProperties2KHR:
        ---------------------------------
            videoCodecOperations:
                None

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

        VkQueueFamilyQueryResultStatusProperties2KHR:
        ---------------------------------------------
            supported = false

        VkVideoQueueFamilyProperties2KHR:
        ---------------------------------
            videoCodecOperations:
                None

    queueProperties[3]:
    -------------------
        minImageTransferGranularity = (1,1,1)
        queueCount                  = 2
        queueFlags                  = QUEUE_TRANSFER | QUEUE_SPARSE_BINDING | QUEUE_VIDEO_DECODE_BIT_KHR
        timestampValidBits          = 32
        present support             = false
        VkQueueFamilyGlobalPriorityPropertiesKHR:
        -----------------------------------------
            priorityCount  = 1
            priorities: count = 16
                256
                0
                0
                0
                0
                0
                0
                0
                0
                0
                0
                0
                0
                0
                0
                0

        VkQueueFamilyQueryResultStatusProperties2KHR:
        ---------------------------------------------
            supported = true

        VkVideoQueueFamilyProperties2KHR:
        ---------------------------------
            videoCodecOperations: count = 2
                VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT
                VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT

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

        VkQueueFamilyQueryResultStatusProperties2KHR:
        ---------------------------------------------
            supported = false

        VkVideoQueueFamilyProperties2KHR:
        ---------------------------------
            videoCodecOperations:
                None

VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 2
    memoryHeaps[0]:
        size   = 4294967296 (0x100000000) (4.00 GiB)
        budget = 4085579776 (0xf3850000) (3.80 GiB)
        usage  = 0 (0x00000000) (0.00 B)
        flags: count = 1
            MEMORY_HEAP_DEVICE_LOCAL_BIT
    memoryHeaps[1]:
        size   = 24975550464 (0x5d0a8a800) (23.26 GiB)
        budget = 24975550464 (0x5d0a8a800) (23.26 GiB)
        usage  = 0 (0x00000000) (0.00 B)
        flags:
            None
memoryTypes: count = 5
    memoryTypes[0]:
        heapIndex     = 1
        propertyFlags = 0x0000:
            None
        usable for:
            IMAGE_TILING_OPTIMAL:
                color images
                FORMAT_D16_UNORM
                FORMAT_X8_D24_UNORM_PACK32
                FORMAT_D32_SFLOAT
                FORMAT_S8_UINT
                FORMAT_D24_UNORM_S8_UINT
                FORMAT_D32_SFLOAT_S8_UINT
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[1]:
        heapIndex     = 0
        propertyFlags = 0x0001: count = 1
            MEMORY_PROPERTY_DEVICE_LOCAL_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                color images
                FORMAT_D16_UNORM
                FORMAT_X8_D24_UNORM_PACK32
                FORMAT_D32_SFLOAT
                FORMAT_S8_UINT
                FORMAT_D24_UNORM_S8_UINT
                FORMAT_D32_SFLOAT_S8_UINT
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[2]:
        heapIndex     = 1
        propertyFlags = 0x0006: count = 2
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                None
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    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:
                None
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)
    memoryTypes[4]:
        heapIndex     = 0
        propertyFlags = 0x0007: count = 3
            MEMORY_PROPERTY_DEVICE_LOCAL_BIT
            MEMORY_PROPERTY_HOST_VISIBLE_BIT
            MEMORY_PROPERTY_HOST_COHERENT_BIT
        usable for:
            IMAGE_TILING_OPTIMAL:
                None
            IMAGE_TILING_LINEAR:
                color images
                (non-sparse, non-transient)

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                              = true
    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                 = true
    sparseResidency4Samples                 = true
    sparseResidency8Samples                 = true
    sparseResidency16Samples                = true
    sparseResidencyAliased                  = true
    variableMultisampleRate                 = true
    inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeatures:
-------------------------------------
    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false

VkPhysicalDevice4444FormatsFeaturesEXT:
---------------------------------------
    formatA4R4G4B4 = true
    formatA4B4G4R4 = true

VkPhysicalDevice8BitStorageFeatures:
------------------------------------
    storageBuffer8BitAccess           = true
    uniformAndStorageBuffer8BitAccess = true
    storagePushConstant8              = true

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

VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT:
--------------------------------------------------
    advancedBlendCoherentOperations = true

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

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

VkPhysicalDeviceBufferDeviceAddressFeaturesEXT:
-----------------------------------------------
    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            = true
    extendedDynamicState2PatchControlPoints = true

VkPhysicalDeviceExtendedDynamicStateFeaturesEXT:
------------------------------------------------
    extendedDynamicState = true

VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT:
---------------------------------------------------
    fragmentShaderSampleInterlock      = true
    fragmentShaderPixelInterlock       = true
    fragmentShaderShadingRateInterlock = 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         = true
    bresenhamLines           = true
    smoothLines              = true
    stippledRectangularLines = true
    stippledBresenhamLines   = true
    stippledSmoothLines      = true

VkPhysicalDeviceMaintenance4Features:
-------------------------------------
    maintenance4 = true

VkPhysicalDeviceMemoryPriorityFeaturesEXT:
------------------------------------------
    memoryPriority = true

VkPhysicalDeviceMultiDrawFeaturesEXT:
-------------------------------------
    multiDraw = true

VkPhysicalDeviceMultiviewFeatures:
----------------------------------
    multiview                   = true
    multiviewGeometryShader     = true
    multiviewTessellationShader = true

VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT:
-----------------------------------------------------
    pageableDeviceLocalMemory = true

VkPhysicalDevicePipelineCreationCacheControlFeatures:
-----------------------------------------------------
    pipelineCreationCacheControl = true

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
    pipelineExecutableInfo = true

VkPhysicalDevicePresentIdFeaturesKHR:
-------------------------------------
    presentId = true

VkPhysicalDevicePresentWaitFeaturesKHR:
---------------------------------------
    presentWait = true

VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:
--------------------------------------------------------
    primitiveTopologyListRestart      = true
    primitiveTopologyPatchListRestart = true

VkPhysicalDevicePrivateDataFeatures:
------------------------------------
    privateData = true

VkPhysicalDeviceProtectedMemoryFeatures:
----------------------------------------
    protectedMemory = false

VkPhysicalDeviceProvokingVertexFeaturesEXT:
-------------------------------------------
    provokingVertexLast                       = true
    transformFeedbackPreservesProvokingVertex = true

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

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

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

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

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

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

VkPhysicalDeviceShaderAtomicFloatFeaturesEXT:
---------------------------------------------
    shaderBufferFloat32Atomics   = true
    shaderBufferFloat32AtomicAdd = true
    shaderBufferFloat64Atomics   = true
    shaderBufferFloat64AtomicAdd = true
    shaderSharedFloat32Atomics   = true
    shaderSharedFloat32AtomicAdd = true
    shaderSharedFloat64Atomics   = true
    shaderSharedFloat64AtomicAdd = true
    shaderImageFloat32Atomics    = true
    shaderImageFloat32AtomicAdd  = true
    sparseImageFloat32Atomics    = true
    sparseImageFloat32AtomicAdd  = true

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

VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT:
---------------------------------------------------
    vertexInputDynamicState = true

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

VkPhysicalDeviceVulkan12Features:
---------------------------------
    samplerMirrorClampToEdge                           = true
    drawIndirectCount                                  = true
    storageBuffer8BitAccess                            = true
    uniformAndStorageBuffer8BitAccess                  = true
    storagePushConstant8                               = true
    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      = true
    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 = true

VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR:
---------------------------------------------------------
    workgroupMemoryExplicitLayout                  = true
    workgroupMemoryExplicitLayoutScalarBlockLayout = true
    workgroupMemoryExplicitLayout8BitAccess        = true
    workgroupMemoryExplicitLayout16BitAccess       = true

VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT:
-------------------------------------------------
    ycbcr2plane444Formats = true

VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:
--------------------------------------------
    ycbcrImageArrays = true

VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures:
------------------------------------------------------
    shaderZeroInitializeWorkgroupMemory = true
michalpelka commented 7 months ago

GPU drivers are installed correctly and available. Since it is more of an issue with o3de, I asked on o3de's discord for some help from @o3de/sig-graphics-audio .

moudgils commented 7 months ago

For some reason it is not detecting your Nvidia device. Tagging @akioCL in case he can provide details as to why a device may get rejected for Vulkan. Btw you can use -forceAdapter="Nvidia" as command line to pick different device although this won't work here since it didn't accept the Nvidida device as a compatible device for O3de. Usually issues like these are fixed by updating to the latest drivers.

adamdbrw commented 6 months ago

@LuisFGutierrez01 cc @akioCL were you able to solve this issue?

LuisFGutierrez01 commented 6 months ago

Hello @adamdbrw ,

I was not able to get this working. I believe the issue lies somewhere within Rocker but I have stopped investigating.

I have also tried to get the ROSConDemo working by installing the demo. I followed the instructions on the building this project section of the repo and was also unsuccessful. However, I get a different issue, this time with Ninja:

$ cmake --build build/linux --config profile --target ROSConDemo Editor AssetProcessor ROSConDemo.Assets
ninja: error: unknown target 'ROSConDemo'

I am currently trying to create the project manually by importing and building the project through the use of the URDF files / guide included in the repo and any other documentation I can find.

Any advice would be appreciated.

jhanca-robotecai commented 6 months ago

Hello @LuisFGutierrez01 If you build the code directly on the machine (without using Docker), please try the updated instructions from https://github.com/o3de/ROSConDemo/pull/272. I tested it yesterday and it worked for me.

LuisFGutierrez01 commented 6 months ago

Hello @jhanca-robotecai I have tried out the newest version of the Main branch after you merged #272 and everything seems to work correctly now after doing a fresh git clone.

This was done with the versions of o3de based on your comment in a different thread o3de: point-release/23101 dc6e2f7a23 o3de-extras: main f21f4812