Hello all,
I am running IsaacGym on a (headless) Ubuntu 18.04.5 remote system with a GeForce RTX 2070 (installed according to the installation documentation for a new conda environment, and I export both LD_LIBRARY_PATH=/home/[user]/anaconda3/envs/rlgpu/lib
and VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
).
The example script joint_monkey.py and train.py work and obviously skip render/view related stuff (prompting the respective carb.windowing-glfw.plugin
and carb.gym.plugin
errors) since running on a headless machine.
However, when trying ssh X11-forwarding for an interactive GUI or creating a virtual display via Xvfb (or xvfb-run) for video recording later (similar to OpenAI Gym Video Recorder), I obtain the following Segmentation Fault when debugging via gdb:
Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00007fff1ddd3f70 in vkGetPhysicalDeviceQueueFamilyProperties () from /home/[user]/isaacgym/python/isaacgym/_bindings/linux-x86_64/libvulkan.so.1
evoked from gym.create_sim(...)
! This does not happen without X11-forwarding or Xvfb.
Another hint could be that vulkaninfo
fails with X11-forwarding or Xvfb:
/build/vulkan-tools-136mCR/vulkan-tools-1.1.126.0+dfsg1/vulkaninfo/vulkaninfo.h:399: failed with ERROR_INITIALIZATION_FAILED
while it works fine without. I have attached its output (in the latter case) together with the nvidia-smi
output below FYI.
Does anybody know what is happening here?
Otherwise, is there any other possibility to obtain a view/video from a headless remote machine?
Best wishes,
Jonas
nvidia-smi:
Tue Jan 19 15:48:07 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.102.04 Driver Version: 450.102.04 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce RTX 2070 Off | 00000000:01:00.0 Off | N/A |
| 29% 25C P8 9W / 175W | 158MiB / 7979MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1184 G /usr/lib/xorg/Xorg 63MiB |
| 0 N/A N/A 1241 G /usr/bin/gnome-shell 92MiB |
+-----------------------------------------------------------------------------+
vulkaninfo: (without X11-forwarding or Xvfb)
==========
VULKANINFO
==========
Vulkan Instance Version: 1.1.126
Instance Extensions: count = 17
====================
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 9
VK_EXT_debug_utils : extension revision 1
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
VK_KHR_device_group_creation : extension revision 1
VK_KHR_display : extension revision 23
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2 : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_surface_protected_capabilities : extension revision 1
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
Layers: count = 2
=======
VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.126, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id : 0 (GeForce RTX 2070)
Layer-Device Extensions: count = 0
VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.2.133, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id : 0 (GeForce RTX 2070)
Layer-Device Extensions: count = 0
Presentable Surfaces:
=====================
Groups:
=======
Device Group Properties (Group 0):
physicalDeviceCount: count = 1
GeForce RTX 2070 (ID: 0)
subsetAllocation = 0
Device Group Present Capabilities (Group 0):
GeForce RTX 2070 (ID: 0)
Can present images from the following devices:
GeForce RTX 2070 (ID: 0)
Present modes:
DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR
Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 4202629 (1.2.133)
driverVersion = 1889108224 (0x70998100)
vendorID = 0x10de
deviceID = 0x1f02
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = GeForce RTX 2070
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 = 16
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:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
framebufferDepthSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
framebufferStencilSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
SAMPLE_COUNT_16_BIT
framebufferNoAttachmentsSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
SAMPLE_COUNT_16_BIT
maxColorAttachments = 8
sampledImageColorSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
sampledImageIntegerSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
sampledImageDepthSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
sampledImageStencilSampleCounts:
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
SAMPLE_COUNT_16_BIT
storageImageSampleCounts:
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
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
VkPhysicalDeviceDepthStencilResolvePropertiesKHR:
-------------------------------------------------
supportedDepthResolveModes:
RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR
RESOLVE_MODE_AVERAGE_BIT_KHR
RESOLVE_MODE_MIN_BIT_KHR
RESOLVE_MODE_MAX_BIT_KHR
supportedStencilResolveModes:
RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR
RESOLVE_MODE_MIN_BIT_KHR
RESOLVE_MODE_MAX_BIT_KHR
independentResolveNone = true
independentResolve = true
VkPhysicalDeviceDescriptorIndexingPropertiesEXT:
------------------------------------------------
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
VkPhysicalDeviceDriverPropertiesKHR:
------------------------------------
driverID = DRIVER_ID_NVIDIA_PROPRIETARY_KHR
driverName = NVIDIA
driverInfo = 450.102.04
conformanceVersion = 1.2.2.0
VkPhysicalDeviceFloatControlsPropertiesKHR:
-------------------------------------------
denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR
roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR
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
VkPhysicalDeviceIDProperties:
-----------------------------
deviceUUID = b4e1d95a-ec1f-7c45-1124-6939fcc71cf2
driverUUID = c482d02-122c-b1f-b0c8-c61a45bdec81
deviceNodeMask = 1
deviceLUIDValid = false
VkPhysicalDeviceInlineUniformBlockPropertiesEXT:
------------------------------------------------
maxInlineUniformBlockSize = 256
maxPerStageDescriptorInlineUniformBlocks = 32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
maxDescriptorSetInlineUniformBlocks = 32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 32
VkPhysicalDeviceLineRasterizationPropertiesEXT:
-----------------------------------------------
lineSubPixelPrecisionBits = 8
VkPhysicalDeviceMaintenance3Properties:
---------------------------------------
maxPerSetDescriptors = 4294967295
maxMemoryAllocationSize = 0xffe00000
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
VkPhysicalDevicePushDescriptorPropertiesKHR:
--------------------------------------------
maxPushDescriptors = 32
VkPhysicalDeviceSampleLocationsPropertiesEXT:
---------------------------------------------
sampleLocationSampleCounts:
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
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT:
-------------------------------------------------
filterMinmaxSingleComponentFormats = true
filterMinmaxImageComponentMapping = true
VkPhysicalDeviceSubgroupProperties:
-----------------------------------
subgroupSize = 32
supportedStages:
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_NV
SHADER_STAGE_ANY_HIT_BIT_NV
SHADER_STAGE_CLOSEST_HIT_BIT_NV
SHADER_STAGE_MISS_BIT_NV
SHADER_STAGE_INTERSECTION_BIT_NV
SHADER_STAGE_CALLABLE_BIT_NV
SHADER_STAGE_TASK_BIT_NV
SHADER_STAGE_MESH_BIT_NV
supportedOperations:
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
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT:
-------------------------------------------------
minSubgroupSize = 32
maxSubgroupSize = 32
maxComputeWorkgroupSubgroups = 2097152
requiredSubgroupSizeStages:
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_NV
SHADER_STAGE_ANY_HIT_BIT_NV
SHADER_STAGE_CLOSEST_HIT_BIT_NV
SHADER_STAGE_MISS_BIT_NV
SHADER_STAGE_INTERSECTION_BIT_NV
SHADER_STAGE_CALLABLE_BIT_NV
SHADER_STAGE_TASK_BIT_NV
SHADER_STAGE_MESH_BIT_NV
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT:
--------------------------------------------------
storageTexelBufferOffsetAlignmentBytes = 0x00000010
storageTexelBufferOffsetSingleTexelAlignment = true
uniformTexelBufferOffsetAlignmentBytes = 0x00000010
uniformTexelBufferOffsetSingleTexelAlignment = true
VkPhysicalDeviceTimelineSemaphorePropertiesKHR:
-----------------------------------------------
maxTimelineSemaphoreValueDifference = 18446744073709551615
VkPhysicalDeviceTransformFeedbackPropertiesEXT:
-----------------------------------------------
maxTransformFeedbackStreams = 4
maxTransformFeedbackBuffers = 4
maxTransformFeedbackBufferSize = 0xffffffffffffffff
maxTransformFeedbackStreamDataSize = 2048
maxTransformFeedbackBufferDataSize = 512
maxTransformFeedbackBufferDataStride = 2048
transformFeedbackQueries = true
transformFeedbackStreamsLinesTriangles = false
transformFeedbackRasterizationStreamSelect = true
transformFeedbackDraw = true
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
maxVertexAttribDivisor = 4294967295
Device Extensions: count = 109
VK_EXT_blend_operation_advanced : extension revision 2
VK_EXT_buffer_device_address : extension revision 2
VK_EXT_calibrated_timestamps : extension revision 1
VK_EXT_conditional_rendering : extension revision 2
VK_EXT_conservative_rasterization : extension revision 1
VK_EXT_custom_border_color : extension revision 11
VK_EXT_depth_clip_enable : extension revision 1
VK_EXT_depth_range_unrestricted : extension revision 1
VK_EXT_descriptor_indexing : extension revision 2
VK_EXT_discard_rectangles : extension revision 1
VK_EXT_display_control : extension revision 1
VK_EXT_fragment_shader_interlock : extension revision 1
VK_EXT_global_priority : extension revision 2
VK_EXT_host_query_reset : 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_memory_budget : extension revision 1
VK_EXT_pci_bus_info : extension revision 2
VK_EXT_pipeline_creation_feedback : extension revision 1
VK_EXT_post_depth_coverage : 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_demote_to_helper_invocation : extension revision 1
VK_EXT_shader_subgroup_ballot : extension revision 1
VK_EXT_shader_subgroup_vote : extension revision 1
VK_EXT_shader_viewport_index_layer : extension revision 1
VK_EXT_subgroup_size_control : extension revision 2
VK_EXT_texel_buffer_alignment : extension revision 1
VK_EXT_tooling_info : extension revision 1
VK_EXT_transform_feedback : extension revision 1
VK_EXT_vertex_attribute_divisor : extension revision 3
VK_EXT_ycbcr_image_arrays : extension revision 1
VK_KHR_16bit_storage : extension revision 1
VK_KHR_8bit_storage : extension revision 1
VK_KHR_bind_memory2 : extension revision 1
VK_KHR_buffer_device_address : extension revision 1
VK_KHR_create_renderpass2 : extension revision 1
VK_KHR_dedicated_allocation : extension revision 3
VK_KHR_depth_stencil_resolve : extension revision 1
VK_KHR_descriptor_update_template : extension revision 1
VK_KHR_device_group : extension revision 4
VK_KHR_draw_indirect_count : extension revision 1
VK_KHR_driver_properties : extension revision 1
VK_KHR_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_get_memory_requirements2 : 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_multiview : extension revision 1
VK_KHR_pipeline_executable_properties : extension revision 1
VK_KHR_push_descriptor : extension revision 2
VK_KHR_relaxed_block_layout : extension revision 1
VK_KHR_sampler_mirror_clamp_to_edge : extension revision 3
VK_KHR_sampler_ycbcr_conversion : extension revision 14
VK_KHR_separate_depth_stencil_layouts : extension revision 1
VK_KHR_shader_atomic_int64 : extension revision 1
VK_KHR_shader_clock : extension revision 1
VK_KHR_shader_draw_parameters : extension revision 1
VK_KHR_shader_float16_int8 : extension revision 1
VK_KHR_shader_float_controls : extension revision 4
VK_KHR_shader_non_semantic_info : extension revision 1
VK_KHR_shader_subgroup_extended_types : 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_timeline_semaphore : extension revision 2
VK_KHR_uniform_buffer_standard_layout : extension revision 1
VK_KHR_variable_pointers : extension revision 1
VK_KHR_vulkan_memory_model : extension revision 3
VK_NVX_binary_import : extension revision 1
VK_NVX_device_generated_commands : extension revision 3
VK_NVX_image_view_handle : extension revision 1
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_corner_sampled_image : extension revision 2
VK_NV_coverage_reduction_mode : extension revision 1
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 1
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_framebuffer_mixed_samples : extension revision 1
VK_NV_geometry_shader_passthrough : extension revision 1
VK_NV_mesh_shader : extension revision 1
VK_NV_ray_tracing : extension revision 3
VK_NV_representative_fragment_test : extension revision 2
VK_NV_sample_mask_override_coverage : extension revision 1
VK_NV_scissor_exclusive : extension revision 1
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[0]:
==========================
minImageTransferGranularity = (1, 1, 1)
queueCount = 16
queueFlags = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
timestampValidBits = 64
present support = false
VkQueueFamilyProperties[1]:
==========================
minImageTransferGranularity = (1, 1, 1)
queueCount = 2
queueFlags = QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
timestampValidBits = 64
present support = false
VkQueueFamilyProperties[2]:
==========================
minImageTransferGranularity = (1, 1, 1)
queueCount = 8
queueFlags = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
timestampValidBits = 64
present support = false
VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 3
memoryHeaps[0]:
size = 8589934592 (0x200000000) (8.00 GiB)
budget = 8197767168
usage = 0
flags:
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryHeaps[1]:
size = 12550358016 (0x2ec0f4400) (11.69 GiB)
budget = 12550358016
usage = 1077248
flags:
None
memoryHeaps[2]:
size = 257949696 (0x0f600000) (246.00 MiB)
budget = 248905728
usage = 9043968
flags:
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 11
memoryTypes[0]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: None
IMAGE_TILING_LINEAR: None
memoryTypes[1]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: color images
IMAGE_TILING_LINEAR: None
memoryTypes[2]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: FORMAT_D16_UNORM
IMAGE_TILING_LINEAR: None
memoryTypes[3]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: FORMAT_X8_D24_UNORM_PACK32, FORMAT_D24_UNORM_S8_UINT
IMAGE_TILING_LINEAR: None
memoryTypes[4]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: FORMAT_D32_SFLOAT
IMAGE_TILING_LINEAR: None
memoryTypes[5]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: FORMAT_D32_SFLOAT_S8_UINT
IMAGE_TILING_LINEAR: None
memoryTypes[6]:
heapIndex = 1
propertyFlags = 0x0000:
None
usable for:
IMAGE_TILING_OPTIMAL: FORMAT_S8_UINT
IMAGE_TILING_LINEAR: None
memoryTypes[7]:
heapIndex = 0
propertyFlags = 0x0001:
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: None
memoryTypes[8]:
heapIndex = 1
propertyFlags = 0x0006:
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
usable for:
IMAGE_TILING_OPTIMAL: None
IMAGE_TILING_LINEAR: None
memoryTypes[9]:
heapIndex = 1
propertyFlags = 0x000e:
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_HOST_CACHED_BIT
usable for:
IMAGE_TILING_OPTIMAL: None
IMAGE_TILING_LINEAR: None
memoryTypes[10]:
heapIndex = 2
propertyFlags = 0x0007:
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
usable for:
IMAGE_TILING_OPTIMAL: None
IMAGE_TILING_LINEAR: None
VkPhysicalDeviceFeatures:
=========================
robustBufferAccess = true
fullDrawIndexUint32 = true
imageCubeArray = true
independentBlend = true
geometryShader = true
tessellationShader = true
sampleRateShading = true
dualSrcBlend = true
logicOp = true
multiDrawIndirect = true
drawIndirectFirstInstance = true
depthClamp = true
depthBiasClamp = true
fillModeNonSolid = true
depthBounds = true
wideLines = true
largePoints = true
alphaToOne = 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
VkPhysicalDevice8BitStorageFeaturesKHR:
---------------------------------------
storageBuffer8BitAccess = true
uniformAndStorageBuffer8BitAccess = true
storagePushConstant8 = true
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT:
--------------------------------------------------
advancedBlendCoherentOperations = true
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT:
-----------------------------------------------
bufferDeviceAddress = true
bufferDeviceAddressCaptureReplay = false
bufferDeviceAddressMultiDevice = true
VkPhysicalDeviceConditionalRenderingFeaturesEXT:
------------------------------------------------
conditionalRendering = true
inheritedConditionalRendering = true
VkPhysicalDeviceDepthClipEnableFeaturesEXT:
-------------------------------------------
depthClipEnable = true
VkPhysicalDeviceDescriptorIndexingFeaturesEXT:
----------------------------------------------
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
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT:
---------------------------------------------------
fragmentShaderSampleInterlock = true
fragmentShaderPixelInterlock = true
fragmentShaderShadingRateInterlock = true
VkPhysicalDeviceHostQueryResetFeaturesEXT:
------------------------------------------
hostQueryReset = true
VkPhysicalDeviceImagelessFramebufferFeaturesKHR:
------------------------------------------------
imagelessFramebuffer = true
VkPhysicalDeviceIndexTypeUint8FeaturesEXT:
------------------------------------------
indexTypeUint8 = true
VkPhysicalDeviceInlineUniformBlockFeaturesEXT:
----------------------------------------------
inlineUniformBlock = true
descriptorBindingInlineUniformBlockUpdateAfterBind = true
VkPhysicalDeviceLineRasterizationFeaturesEXT:
---------------------------------------------
rectangularLines = true
bresenhamLines = true
smoothLines = true
stippledRectangularLines = true
stippledBresenhamLines = true
stippledSmoothLines = true
VkPhysicalDeviceMultiviewFeatures:
----------------------------------
multiview = true
multiviewGeometryShader = true
multiviewTessellationShader = true
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
pipelineExecutableInfo = true
VkPhysicalDeviceProtectedMemoryFeatures:
----------------------------------------
protectedMemory = false
VkPhysicalDeviceSamplerYcbcrConversionFeatures:
-----------------------------------------------
samplerYcbcrConversion = true
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT:
---------------------------------------------
scalarBlockLayout = true
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR:
---------------------------------------------
shaderBufferInt64Atomics = true
shaderSharedInt64Atomics = true
VkPhysicalDeviceShaderClockFeaturesKHR:
---------------------------------------
shaderSubgroupClock = true
shaderDeviceClock = true
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
----------------------------------------------------------
shaderDemoteToHelperInvocation = true
VkPhysicalDeviceShaderDrawParametersFeatures:
---------------------------------------------
shaderDrawParameters = true
VkPhysicalDeviceShaderFloat16Int8FeaturesKHR:
---------------------------------------------
shaderFloat16 = true
shaderInt8 = true
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR:
-------------------------------------------------------
shaderSubgroupExtendedTypes = true
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT:
-----------------------------------------------
subgroupSizeControl = true
computeFullSubgroups = true
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:
------------------------------------------------
texelBufferAlignment = true
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR:
---------------------------------------------
timelineSemaphore = true
VkPhysicalDeviceTransformFeedbackFeaturesEXT:
---------------------------------------------
transformFeedback = true
geometryStreams = true
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR:
-------------------------------------------------------
uniformBufferStandardLayout = true
VkPhysicalDeviceVariablePointersFeatures:
-----------------------------------------
variablePointersStorageBuffer = true
variablePointers = true
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:
--------------------------------------------------
vertexAttributeInstanceRateDivisor = true
vertexAttributeInstanceRateZeroDivisor = true
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR:
---------------------------------------------
vulkanMemoryModel = true
vulkanMemoryModelDeviceScope = true
vulkanMemoryModelAvailabilityVisibilityChains = true
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:
--------------------------------------------
ycbcrImageArrays = true