You are not logged in.
I've been struggling to get Baldur's Gate 3 to load properly for a few weeks now. The start screen shows up and gets to either 95% if I use Vulkan or 93% if I use DX11, but never past that. I can see a stack overflow in the logs that I believe is related since it's near the end, but not sure how to debug as adding +relay just causes the game to crash before loading.
If I set MANGO_HUD=1 in my steam options, it shows something happening on the GPU/CPU, but I've let it sit for 6 hours overnight with no improvements
I've tried all of the following:
Steam-Flatpak/Lutris/AUR-Steam
Multiple versions of Proton (including Proton-GE, Experimental, hotfix, as well as 9.x and 8.x)
Clean install (multiple times)
Using optimus-manager to force nvidia GPU (verified using nvidia-smi)
Vulkan/DirectX
--skip-launcher
Checked the linux-gaming Discord server
Unfortunately none of this has helped. Here's a recent Proton log: https://pastebin.ai/g40tfbamiy
-` devin@bean
.o+` ----------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: OMEN Transcend Gaming Laptop 14-fb0xxx
`+oooooo: Kernel: 6.10.1-arch1-1
-+oooooo+: Uptime: 39 mins
`/:-:++oooo+: Packages: 910 (pacman), 27 (flatpak)
`/++++/+++++++: Shell: zsh 5.9
`/++++++++++++++: Resolution: 2880x1800
`/+++ooooooooooooo/` DE: Xfce 4.18
./ooosssso++osssssso+` WM: Xfwm4
.oossssso-'''`/ossssss+` WM Theme: catppuccin-frappe-dark
-osssssso. :ssssssso. Theme: catppuccin-frappe-dark [GTK2/3]
:osssssss/ osssso+++. Icons: Tela-circle-dark [GTK2/3]
/ossssssss/ +ssssooo/- Terminal: tmux
`/ossssso+/:- -:/+osssso+- CPU: Intel Ultra 9 185H (22) @ 4.800GHz
`+sso+:-` `.-/+oso: GPU: Intel Arc Graphics]
`++:. `-/+/ GPU: NVIDIA GeForce RTX 4070 Max-Q / Mobile
.` `/ Memory: 3833MiB / 31666MiB
Installed packages for nvidia and vulkan
pacman -Q | grep nvidia
lib32-nvidia-utils 555.58.02-1
nvidia-dkms 555.58.02-1
nvidia-prime 1.0-5
nvidia-settings 555.58.02-1
nvidia-utils 555.58.02-1
pacman -Q | grep vulkan
lib32-vulkan-icd-loader 1.3.279-1
vulkan-headers 1:1.3.285-1
vulkan-icd-loader 1.3.285-1
vulkan-tools 1.3.269-1
Vulkan info
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.279
Instance Extensions: count = 23
===============================
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_surface_maintenance1 : 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_portability_enumeration : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_surface_protected_capabilities : extension revision 1
VK_KHR_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_LUNARG_direct_driver_loading : extension revision 1
Layers: count = 9
=================
VK_LAYER_MANGOAPP_overlay (Mangoapp Layer) Vulkan version 1.3.0, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_MANGOAPP_overlay (Mangoapp Layer) Vulkan version 1.3.0, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_MANGOHUD_overlay_x86 (Vulkan Hud Overlay) Vulkan version 1.3.0, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_MANGOHUD_overlay_x86_64 (Vulkan Hud Overlay) Vulkan version 1.3.0, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.3.278, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.3.207, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.3.207, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.3.207, layer version 1:
Layer Extensions: count = 0
Devices: count = 1
GPU id = 0 (NVIDIA GeForce RTX 4070 Laptop GPU)
Layer-Device Extensions: count = 0
Presentable Surfaces:
=====================
GPU id : 0 (NVIDIA GeForce RTX 4070 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
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
VK_EXT_surface_maintenance_1:
-----------------------------
PRESENT_MODE_FIFO_KHR:
VkSurfacePresentScalingCapabilitiesEXT:
supportedPresentScaling: count = 3
PRESENT_SCALING_ONE_TO_ONE_BIT_EXT
PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT
PRESENT_SCALING_STRETCH_BIT_EXT
supportedPresentGravityX: count = 3
PRESENT_GRAVITY_MIN_BIT_EXT
PRESENT_GRAVITY_MAX_BIT_EXT
PRESENT_GRAVITY_CENTERED_BIT_EXT
supportedPresentGravityY: count = 3
PRESENT_GRAVITY_MIN_BIT_EXT
PRESENT_GRAVITY_MAX_BIT_EXT
PRESENT_GRAVITY_CENTERED_BIT_EXT
minScaledImageExtent:
width = 1
height = 1
maxScaledImageExtent:
width = 4294967294
height = 4294967294
VkSurfacePresentModeCompatibilityEXT:
presentModeCount = 3
pPresentModes: count = 3
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_IMMEDIATE_KHR:
VkSurfacePresentScalingCapabilitiesEXT:
supportedPresentScaling: count = 3
PRESENT_SCALING_ONE_TO_ONE_BIT_EXT
PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT
PRESENT_SCALING_STRETCH_BIT_EXT
supportedPresentGravityX: count = 3
PRESENT_GRAVITY_MIN_BIT_EXT
PRESENT_GRAVITY_MAX_BIT_EXT
PRESENT_GRAVITY_CENTERED_BIT_EXT
supportedPresentGravityY: count = 3
PRESENT_GRAVITY_MIN_BIT_EXT
PRESENT_GRAVITY_MAX_BIT_EXT
PRESENT_GRAVITY_CENTERED_BIT_EXT
minScaledImageExtent:
width = 1
height = 1
maxScaledImageExtent:
width = 4294967294
height = 4294967294
VkSurfacePresentModeCompatibilityEXT:
presentModeCount = 3
pPresentModes: count = 3
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 1.3.278 (4206870)
driverVersion = 555.58.2.0 (2328789120)
vendorID = 0x10de
deviceID = 0x2820
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = NVIDIA GeForce RTX 4070 Laptop GPU
pipelineCacheUUID = 45b2fe47-2ab1-25ed-7cab-c9570dce0da9
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 = 0x10000000000
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
VkPhysicalDeviceCooperativeMatrixPropertiesKHR:
-----------------------------------------------
cooperativeMatrixSupportedStages: count = 1
SHADER_STAGE_COMPUTE_BIT
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
VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT:
--------------------------------------------------------
combinedImageSamplerDensityMapDescriptorSize = 4
VkPhysicalDeviceDescriptorBufferPropertiesEXT:
----------------------------------------------
combinedImageSamplerDescriptorSingleArray = true
bufferlessPushDescriptors = true
allowSamplerImageViewPostSubmitCreation = false
descriptorBufferOffsetAlignment = 0x00000040
maxDescriptorBufferBindings = 32
maxResourceDescriptorBufferBindings = 32
maxSamplerDescriptorBufferBindings = 32
maxEmbeddedImmutableSamplerBindings = 1048576
maxEmbeddedImmutableSamplers = 4000
bufferCaptureReplayDescriptorDataSize = 1
imageCaptureReplayDescriptorDataSize = 1
imageViewCaptureReplayDescriptorDataSize = 12
samplerCaptureReplayDescriptorDataSize = 4
accelerationStructureCaptureReplayDescriptorDataSize = 1
samplerDescriptorSize = 4
combinedImageSamplerDescriptorSize = 4
sampledImageDescriptorSize = 4
storageImageDescriptorSize = 4
uniformTexelBufferDescriptorSize = 16
robustUniformTexelBufferDescriptorSize = 16
storageTexelBufferDescriptorSize = 16
robustStorageTexelBufferDescriptorSize = 16
uniformBufferDescriptorSize = 8
robustUniformBufferDescriptorSize = 8
storageBufferDescriptorSize = 16
robustStorageBufferDescriptorSize = 16
inputAttachmentDescriptorSize = 4
accelerationStructureDescriptorSize = 8
maxSamplerDescriptorBufferRange = 0x10000000000
maxResourceDescriptorBufferRange = 0x10000000000
samplerDescriptorBufferAddressSpaceSize = 0x10000000000
resourceDescriptorBufferAddressSpaceSize = 0x10000000000
descriptorBufferAddressSpaceSize = 0x10000000000
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 = 555.58.02
conformanceVersion:
major = 1
minor = 3
subminor = 8
patch = 0
VkPhysicalDeviceDrmPropertiesEXT:
---------------------------------
hasPrimary = true
hasRender = true
primaryMajor = 226
primaryMinor = 0
renderMajor = 226
renderMinor = 129
VkPhysicalDeviceExtendedDynamicState3PropertiesEXT:
---------------------------------------------------
dynamicPrimitiveTopologyUnrestricted = true
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
VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR:
-------------------------------------------------------
triStripVertexOrderIndependentOfProvokingVertex = false
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
VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT:
-----------------------------------------------------
graphicsPipelineLibraryFastLinking = true
graphicsPipelineLibraryIndependentInterpolationDecoration = true
VkPhysicalDeviceIDProperties:
-----------------------------
deviceUUID = 83106b21-c583-af30-f51c-3e4b1caaa22a
driverUUID = 33f6bc8a-aa1c-5a5d-8686-ce375a7b4fbd
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 = 0x10000000000
VkPhysicalDeviceMaintenance5PropertiesKHR:
------------------------------------------
earlyFragmentMultisampleCoverageAfterSampleCounting = true
earlyFragmentSampleMaskTestBeforeSampleCounting = true
depthStencilSwizzleOneSupport = true
polygonModePointSize = true
nonStrictSinglePixelWideLinesUseParallelogram = false
nonStrictWideLinesUseParallelogram = false
VkPhysicalDeviceMeshShaderPropertiesEXT:
----------------------------------------
maxTaskWorkGroupTotalCount = 4194304
maxTaskWorkGroupCount: count = 3
4194304
65535
65535
maxTaskWorkGroupInvocations = 128
maxTaskWorkGroupSize: count = 3
128
128
128
maxTaskPayloadSize = 16384
maxTaskSharedMemorySize = 32768
maxTaskPayloadAndSharedMemorySize = 32768
maxMeshWorkGroupTotalCount = 4194304
maxMeshWorkGroupCount: count = 3
4194304
65535
65535
maxMeshWorkGroupInvocations = 128
maxMeshWorkGroupSize: count = 3
128
128
128
maxMeshSharedMemorySize = 28672
maxMeshPayloadAndSharedMemorySize = 28672
maxMeshOutputMemorySize = 32768
maxMeshPayloadAndOutputMemorySize = 48128
maxMeshOutputComponents = 128
maxMeshOutputVertices = 256
maxMeshOutputPrimitives = 256
maxMeshOutputLayers = 2048
maxMeshMultiviewViewCount = 4
meshOutputPerVertexGranularity = 32
meshOutputPerPrimitiveGranularity = 32
maxPreferredTaskWorkGroupInvocations = 32
maxPreferredMeshWorkGroupInvocations = 32
prefersLocalInvocationVertexOutput = false
prefersLocalInvocationPrimitiveOutput = false
prefersCompactVertexOutput = false
prefersCompactPrimitiveOutput = true
VkPhysicalDeviceMultiDrawPropertiesEXT:
---------------------------------------
maxMultiDrawCount = 4294967295
VkPhysicalDeviceMultiviewProperties:
------------------------------------
maxMultiviewViewCount = 32
maxMultiviewInstanceIndex = 134217727
VkPhysicalDeviceNestedCommandBufferPropertiesEXT:
-------------------------------------------------
maxCommandBufferNestingLevel = 4294967295
VkPhysicalDeviceOpacityMicromapPropertiesEXT:
---------------------------------------------
maxOpacity2StateSubdivisionLevel = 12
maxOpacity4StateSubdivisionLevel = 12
VkPhysicalDevicePCIBusInfoPropertiesEXT:
----------------------------------------
pciDomain = 0
pciBus = 1
pciDevice = 0
pciFunction = 0
VkPhysicalDevicePipelineRobustnessPropertiesEXT:
------------------------------------------------
defaultRobustnessStorageBuffers = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT
defaultRobustnessUniformBuffers = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT
defaultRobustnessVertexInputs = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT
defaultRobustnessImages = PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_ROBUST_IMAGE_ACCESS_2_EXT
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 = false
integerDotProduct8BitSignedAccelerated = false
integerDotProduct8BitMixedSignednessAccelerated = false
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 = false
integerDotProductAccumulatingSaturating8BitSignedAccelerated = false
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = true
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = true
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = true
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating16BitSignedAccelerated = false
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating32BitSignedAccelerated = false
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating64BitSignedAccelerated = false
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false
VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT:
----------------------------------------------------
shaderModuleIdentifierAlgorithmUUID = 1f4517a6-c1c4-11ec-9d64-0242ac120005
VkPhysicalDeviceShaderObjectPropertiesEXT:
------------------------------------------
shaderBinaryUUID = 45b2fe47-2ab1-25ed-7cab-c9570dce0da9
shaderBinaryVersion = 1
VkPhysicalDeviceSubgroupProperties:
-----------------------------------
subgroupSize = 32
supportedStages: count = 14
SHADER_STAGE_VERTEX_BIT
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_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_EXT
SHADER_STAGE_MESH_BIT_EXT
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 = 32
requiredSubgroupSizeStages: count = 14
SHADER_STAGE_VERTEX_BIT
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_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_EXT
SHADER_STAGE_MESH_BIT_EXT
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 = 83106b21-c583-af30-f51c-3e4b1caaa22a
driverUUID = 33f6bc8a-aa1c-5a5d-8686-ce375a7b4fbd
deviceNodeMask = 1
deviceLUIDValid = false
subgroupSize = 32
subgroupSupportedStages: count = 14
SHADER_STAGE_VERTEX_BIT
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_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_EXT
SHADER_STAGE_MESH_BIT_EXT
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 = 555.58.02
conformanceVersion:
major = 1
minor = 3
subminor = 8
patch = 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 = 32
requiredSubgroupSizeStages: count = 14
SHADER_STAGE_VERTEX_BIT
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_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_EXT
SHADER_STAGE_MESH_BIT_EXT
maxInlineUniformBlockSize = 256
maxPerStageDescriptorInlineUniformBlocks = 32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
maxDescriptorSetInlineUniformBlocks = 32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 32
maxInlineUniformTotalSize = 3584
integerDotProduct8BitUnsignedAccelerated = false
integerDotProduct8BitSignedAccelerated = false
integerDotProduct8BitMixedSignednessAccelerated = false
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 = false
integerDotProductAccumulatingSaturating8BitSignedAccelerated = false
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = true
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = true
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = true
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating16BitSignedAccelerated = false
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating32BitSignedAccelerated = false
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating64BitSignedAccelerated = false
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false
storageTexelBufferOffsetAlignmentBytes = 0x00000010
storageTexelBufferOffsetSingleTexelAlignment = true
uniformTexelBufferOffsetAlignmentBytes = 0x00000010
uniformTexelBufferOffsetSingleTexelAlignment = true
maxBufferSize = 0x10000000000
VkPhysicalDeviceHostImageCopyPropertiesEXT:
copySrcLayoutCount = 10
pCopySrcLayouts: count = 10
IMAGE_LAYOUT_GENERAL
IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
IMAGE_LAYOUT_PREINITIALIZED
IMAGE_LAYOUT_READ_ONLY_OPTIMAL
IMAGE_LAYOUT_ATTACHMENT_OPTIMAL
IMAGE_LAYOUT_PRESENT_SRC_KHR
IMAGE_LAYOUT_SHARED_PRESENT_KHR
copyDstLayoutCount = 10
pCopyDstLayouts: count = 10
IMAGE_LAYOUT_GENERAL
IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL
IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL
IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
IMAGE_LAYOUT_PREINITIALIZED
IMAGE_LAYOUT_READ_ONLY_OPTIMAL
IMAGE_LAYOUT_ATTACHMENT_OPTIMAL
IMAGE_LAYOUT_PRESENT_SRC_KHR
IMAGE_LAYOUT_SHARED_PRESENT_KHR
optimalTilingLayoutUUID = 45b2fe47-2ab1-25ed-7cab-c9570dce0da9
identicalMemoryTypeRequirements = false
Device Extensions: count = 222
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_map_memory_placed : 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_nested_command_buffer : 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_calibrated_timestamps : 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_dynamic_rendering_local_read : 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_index_type_uint8 : extension revision 1
VK_KHR_line_rasterization : extension revision 1
VK_KHR_load_store_op_none : 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_maintenance6 : 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_expect_assume : extension revision 1
VK_KHR_shader_float16_int8 : extension revision 1
VK_KHR_shader_float_controls : extension revision 4
VK_KHR_shader_float_controls2 : extension revision 1
VK_KHR_shader_integer_dot_product : extension revision 1
VK_KHR_shader_maximal_reconvergence : extension revision 1
VK_KHR_shader_non_semantic_info : extension revision 1
VK_KHR_shader_quad_control : extension revision 1
VK_KHR_shader_subgroup_extended_types : extension revision 1
VK_KHR_shader_subgroup_rotate : extension revision 2
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_vertex_attribute_divisor : extension revision 1
VK_KHR_video_decode_av1 : extension revision 1
VK_KHR_video_decode_h264 : extension revision 9
VK_KHR_video_decode_h265 : extension revision 8
VK_KHR_video_decode_queue : extension revision 8
VK_KHR_video_encode_h264 : extension revision 14
VK_KHR_video_encode_h265 : extension revision 14
VK_KHR_video_encode_queue : extension revision 12
VK_KHR_video_maintenance1 : extension revision 1
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_descriptor_pool_overallocation : 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 2
VK_NV_memory_decompression : extension revision 1
VK_NV_mesh_shader : extension revision 1
VK_NV_optical_flow : extension revision 1
VK_NV_raw_access_chains : 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_atomic_float16_vector : 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:
========================
queueProperties[0]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 16
queueFlags = QUEUE_GRAPHICS_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT
timestampValidBits = 64
present support = true
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 1
priorities: count = 1
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
VkQueueFamilyQueryResultStatusPropertiesKHR:
--------------------------------------------
queryResultStatusSupport = false
VkQueueFamilyVideoPropertiesKHR:
--------------------------------
videoCodecOperations:
None
queueProperties[1]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 2
queueFlags = QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT
timestampValidBits = 64
present support = false
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 1
priorities: count = 1
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
VkQueueFamilyQueryResultStatusPropertiesKHR:
--------------------------------------------
queryResultStatusSupport = false
VkQueueFamilyVideoPropertiesKHR:
--------------------------------
videoCodecOperations:
None
queueProperties[2]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 8
queueFlags = QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT
timestampValidBits = 64
present support = true
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 1
priorities: count = 1
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
VkQueueFamilyQueryResultStatusPropertiesKHR:
--------------------------------------------
queryResultStatusSupport = false
VkQueueFamilyVideoPropertiesKHR:
--------------------------------
videoCodecOperations:
None
queueProperties[3]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 1
queueFlags = QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT | QUEUE_VIDEO_DECODE_BIT_KHR
timestampValidBits = 32
present support = false
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 1
priorities: count = 1
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
VkQueueFamilyQueryResultStatusPropertiesKHR:
--------------------------------------------
queryResultStatusSupport = true
VkQueueFamilyVideoPropertiesKHR:
--------------------------------
videoCodecOperations: count = 2
VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR
VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR
queueProperties[4]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 1
queueFlags = QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT | QUEUE_VIDEO_ENCODE_BIT_KHR
timestampValidBits = 32
present support = false
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 1
priorities: count = 1
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
VkQueueFamilyQueryResultStatusPropertiesKHR:
--------------------------------------------
queryResultStatusSupport = true
VkQueueFamilyVideoPropertiesKHR:
--------------------------------
videoCodecOperations: count = 2
VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT
VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT
queueProperties[5]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 1
queueFlags = QUEUE_TRANSFER_BIT | QUEUE_SPARSE_BINDING_BIT | QUEUE_OPTICAL_FLOW_BIT_NV
timestampValidBits = 64
present support = false
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 1
priorities: count = 1
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
VkQueueFamilyQueryResultStatusPropertiesKHR:
--------------------------------------------
queryResultStatusSupport = false
VkQueueFamilyVideoPropertiesKHR:
--------------------------------
videoCodecOperations:
None
VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 2
memoryHeaps[0]:
size = 8585740288 (0x1ffc00000) (8.00 GiB)
budget = 8208449536 (0x1e9430000) (7.64 GiB)
usage = 0 (0x00000000) (0.00 B)
flags: count = 1
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryHeaps[1]:
size = 24903453696 (0x5cc5c8c00) (23.19 GiB)
budget = 24903453696 (0x5cc5c8c00) (23.19 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
VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT:
--------------------------------------------------------------
attachmentFeedbackLoopDynamicState = true
VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT:
--------------------------------------------------------
attachmentFeedbackLoopLayout = 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
VkPhysicalDeviceCooperativeMatrixFeaturesKHR:
---------------------------------------------
cooperativeMatrix = true
cooperativeMatrixRobustBufferAccess = false
VkPhysicalDeviceCustomBorderColorFeaturesEXT:
---------------------------------------------
customBorderColors = true
customBorderColorWithoutFormat = true
VkPhysicalDeviceDepthBiasControlFeaturesEXT:
--------------------------------------------
depthBiasControl = true
leastRepresentableValueForceUnormRepresentation = true
floatRepresentation = false
depthBiasExact = true
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT:
---------------------------------------------
depthClampZeroOne = true
VkPhysicalDeviceDepthClipControlFeaturesEXT:
--------------------------------------------
depthClipControl = true
VkPhysicalDeviceDepthClipEnableFeaturesEXT:
-------------------------------------------
depthClipEnable = true
VkPhysicalDeviceDescriptorBufferFeaturesEXT:
--------------------------------------------
descriptorBuffer = true
descriptorBufferCaptureReplay = true
descriptorBufferImageLayoutIgnored = true
descriptorBufferPushDescriptors = 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
VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT:
-------------------------------------------------------------
dynamicRenderingUnusedAttachments = true
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT:
-------------------------------------------------
extendedDynamicState2 = true
extendedDynamicState2LogicOp = true
extendedDynamicState2PatchControlPoints = true
VkPhysicalDeviceExtendedDynamicState3FeaturesEXT:
-------------------------------------------------
extendedDynamicState3TessellationDomainOrigin = true
extendedDynamicState3DepthClampEnable = true
extendedDynamicState3PolygonMode = true
extendedDynamicState3RasterizationSamples = true
extendedDynamicState3SampleMask = true
extendedDynamicState3AlphaToCoverageEnable = true
extendedDynamicState3AlphaToOneEnable = true
extendedDynamicState3LogicOpEnable = true
extendedDynamicState3ColorBlendEnable = true
extendedDynamicState3ColorBlendEquation = true
extendedDynamicState3ColorWriteMask = true
extendedDynamicState3RasterizationStream = true
extendedDynamicState3ConservativeRasterizationMode = true
extendedDynamicState3ExtraPrimitiveOverestimationSize = true
extendedDynamicState3DepthClipEnable = true
extendedDynamicState3SampleLocationsEnable = true
extendedDynamicState3ColorBlendAdvanced = true
extendedDynamicState3ProvokingVertexMode = true
extendedDynamicState3LineRasterizationMode = true
extendedDynamicState3LineStippleEnable = true
extendedDynamicState3DepthClipNegativeOneToOne = true
extendedDynamicState3ViewportWScalingEnable = true
extendedDynamicState3ViewportSwizzle = true
extendedDynamicState3CoverageToColorEnable = true
extendedDynamicState3CoverageToColorLocation = true
extendedDynamicState3CoverageModulationMode = true
extendedDynamicState3CoverageModulationTableEnable = true
extendedDynamicState3CoverageModulationTable = true
extendedDynamicState3CoverageReductionMode = true
extendedDynamicState3RepresentativeFragmentTestEnable = true
extendedDynamicState3ShadingRateImageEnable = true
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT:
------------------------------------------------
extendedDynamicState = true
VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR:
-----------------------------------------------------
fragmentShaderBarycentric = true
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT:
---------------------------------------------------
fragmentShaderSampleInterlock = true
fragmentShaderPixelInterlock = true
fragmentShaderShadingRateInterlock = true
VkPhysicalDeviceFragmentShadingRateFeaturesKHR:
-----------------------------------------------
pipelineFragmentShadingRate = true
primitiveFragmentShadingRate = true
attachmentFragmentShadingRate = true
VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR:
-----------------------------------------------
globalPriorityQuery = true
VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT:
---------------------------------------------------
graphicsPipelineLibrary = true
VkPhysicalDeviceHostImageCopyFeaturesEXT:
-----------------------------------------
hostImageCopy = true
VkPhysicalDeviceHostQueryResetFeatures:
---------------------------------------
hostQueryReset = true
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT:
-------------------------------------------
image2DViewOf3D = true
sampler2DViewOf3D = true
VkPhysicalDeviceImageRobustnessFeatures:
----------------------------------------
robustImageAccess = true
VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT:
-----------------------------------------------
imageSlicedViewOf3D = 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
VkPhysicalDeviceMaintenance5FeaturesKHR:
----------------------------------------
maintenance5 = true
VkPhysicalDeviceMemoryPriorityFeaturesEXT:
------------------------------------------
memoryPriority = true
VkPhysicalDeviceMeshShaderFeaturesEXT:
--------------------------------------
taskShader = true
meshShader = true
multiviewMeshShader = true
primitiveFragmentShadingRateMeshShader = true
meshShaderQueries = true
VkPhysicalDeviceMultiDrawFeaturesEXT:
-------------------------------------
multiDraw = true
VkPhysicalDeviceMultiviewFeatures:
----------------------------------
multiview = true
multiviewGeometryShader = true
multiviewTessellationShader = true
VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT:
-------------------------------------------------
mutableDescriptorType = true
VkPhysicalDeviceNestedCommandBufferFeaturesEXT:
-----------------------------------------------
nestedCommandBuffer = true
nestedCommandBufferRendering = true
nestedCommandBufferSimultaneousUse = true
VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT:
----------------------------------------------
nonSeamlessCubeMap = true
VkPhysicalDeviceOpacityMicromapFeaturesEXT:
-------------------------------------------
micromap = true
micromapCaptureReplay = false
micromapHostCommands = false
VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT:
-----------------------------------------------------
pageableDeviceLocalMemory = true
VkPhysicalDevicePipelineCreationCacheControlFeatures:
-----------------------------------------------------
pipelineCreationCacheControl = true
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
pipelineExecutableInfo = true
VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT:
-------------------------------------------------------
pipelineLibraryGroupHandles = true
VkPhysicalDevicePipelineRobustnessFeaturesEXT:
----------------------------------------------
pipelineRobustness = true
VkPhysicalDevicePresentIdFeaturesKHR:
-------------------------------------
presentId = true
VkPhysicalDevicePresentWaitFeaturesKHR:
---------------------------------------
presentWait = true
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:
--------------------------------------------------------
primitiveTopologyListRestart = true
primitiveTopologyPatchListRestart = true
VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT:
----------------------------------------------------
primitivesGeneratedQuery = true
primitivesGeneratedQueryWithRasterizerDiscard = true
primitivesGeneratedQueryWithNonZeroStreams = true
VkPhysicalDevicePrivateDataFeatures:
------------------------------------
privateData = true
VkPhysicalDeviceProtectedMemoryFeatures:
----------------------------------------
protectedMemory = false
VkPhysicalDeviceProvokingVertexFeaturesEXT:
-------------------------------------------
provokingVertexLast = true
transformFeedbackPreservesProvokingVertex = true
VkPhysicalDeviceRayQueryFeaturesKHR:
------------------------------------
rayQuery = true
VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR:
--------------------------------------------------
rayTracingMaintenance1 = true
rayTracingPipelineTraceRaysIndirect2 = true
VkPhysicalDeviceRayTracingPipelineFeaturesKHR:
----------------------------------------------
rayTracingPipeline = true
rayTracingPipelineShaderGroupHandleCaptureReplay = false
rayTracingPipelineShaderGroupHandleCaptureReplayMixed = false
rayTracingPipelineTraceRaysIndirect = true
rayTraversalPrimitiveCulling = true
VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR:
---------------------------------------------------
rayTracingPositionFetch = 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
VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT:
--------------------------------------------------
shaderModuleIdentifier = true
VkPhysicalDeviceShaderObjectFeaturesEXT:
----------------------------------------
shaderObject = true
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:
----------------------------------------------------
shaderSubgroupExtendedTypes = true
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR:
------------------------------------------------------------
shaderSubgroupUniformControlFlow = true
VkPhysicalDeviceShaderTerminateInvocationFeatures:
--------------------------------------------------
shaderTerminateInvocation = true
VkPhysicalDeviceSubgroupSizeControlFeatures:
--------------------------------------------
subgroupSizeControl = true
computeFullSubgroups = true
VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT:
-------------------------------------------------
swapchainMaintenance1 = 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
Any help is greatly appreciated!
Offline
Could it be this: https://bugs.winehq.org/show_bug.cgi?id=56653 Because of space restrictions I don't currently have Baldur's Gate 3 on my laptop so I can't really properly test if the fix for that does anything. If it is that then eventually GE Proton will fix it. Hopefully someone that's better at this than me can help you.
Edit: I'm starting to strongly suspect that's it. If you're especially brave you could build wine-bleeding edge for the fix. Best bet might be to modify a build script for wine-staging and have a patch that effects these changes: https://gitlab.winehq.org/wine/wine/-/c … 7c2f6cb68b
Bearing in mind I'm just guessing and cannot confirm any of this.
Last edited by tdtooke (2024-08-07 20:45:44)
Offline
Not on arch any more, same issue happens on fedora. I've edited and applied the patch suggested by tdtooke on top of proton. Did not work unfortunately - same behaviour continues. I've also noticed that the game loads a little bit further if I turn off internet access. Another thing I noticed - no audio in logo when it goes further.
Posting here patch that applies cleanly if somebody wants to try it out and/or has other ideas.
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c
index 3ca2e88447b..2e16765d037 100644
--- a/dlls/ntdll/unix/system.c
+++ b/dlls/ntdll/unix/system.c
@@ -1263,7 +1263,7 @@ static NTSTATUS create_logical_proc_info(void)
for(j = 0; j < 4; j++)
{
- CACHE_DESCRIPTOR cache;
+ CACHE_DESCRIPTOR cache = { .Associativity = 8, .LineSize = 64, .Type = CacheUnified, .Size = 64 * 1024 };
ULONG_PTR mask = 0;
snprintf(name, sizeof(name), cache_info, cpu_id, j, "shared_cpu_map");
@@ -1277,39 +1277,44 @@ static NTSTATUS create_logical_proc_info(void)
cache.Level = r;
snprintf(name, sizeof(name), cache_info, cpu_id, j, "ways_of_associativity");
- f = fopen(name, "r");
- if(!f) continue;
- fscanf(f, "%u", &r);
- fclose(f);
- cache.Associativity = r;
+ if ((f = fopen(name, "r")))
+ {
+ fscanf(f, "%u", &r);
+ fclose(f);
+ cache.Associativity = r;
+ }
snprintf(name, sizeof(name), cache_info, cpu_id, j, "coherency_line_size");
- f = fopen(name, "r");
- if(!f) continue;
- fscanf(f, "%u", &r);
- fclose(f);
- cache.LineSize = r;
+ if ((f = fopen(name, "r")))
+ {
+ fscanf(f, "%u", &r);
+ fclose(f);
+ cache.LineSize = r;
+ }
+
snprintf(name, sizeof(name), cache_info, cpu_id, j, "size");
- f = fopen(name, "r");
- if(!f) continue;
- fscanf(f, "%u%c", &r, &op);
- fclose(f);
- if(op != 'K')
- WARN("unknown cache size %u%c\n", r, op);
- cache.Size = (op=='K' ? r*1024 : r);
+ if ((f = fopen(name, "r")))
+ {
+ fscanf(f, "%u%c", &r, &op);
+ fclose(f);
+ if(op != 'K')
+ WARN("unknown cache size %u%c\n", r, op);
+ cache.Size = (op=='K' ? r*1024 : r);
+ }
snprintf(name, sizeof(name), cache_info, cpu_id, j, "type");
- f = fopen(name, "r");
- if(!f) continue;
- fscanf(f, "%s", name);
- fclose(f);
- if (!memcmp(name, "Data", 5))
- cache.Type = CacheData;
- else if(!memcmp(name, "Instruction", 11))
- cache.Type = CacheInstruction;
- else
- cache.Type = CacheUnified;
+ if ((f = fopen(name, "r")))
+ {
+ fscanf(f, "%s", name);
+ fclose(f);
+ if (!memcmp(name, "Data", 5))
+ cache.Type = CacheData;
+ else if(!memcmp(name, "Instruction", 11))
+ cache.Type = CacheInstruction;
+ else
+ cache.Type = CacheUnified;
+ }
if (cpu_override.mapping.cpu_count)
{
Last edited by admiral0 (2024-09-15 13:55:11)
Offline
Well.... it looks that the patch is not enough for latest intel chips
// somewhere in the function create_logical_proc_info
static const char cache_info[] = "/sys/devices/system/cpu/cpu%u/cache/index%u/%s";
That patch is not enough - I remember seeing other code paths bailing out if cache info doesn't exist.
[admiral0@thrud:~]$ echo static const char cache_info[] = "/sys/devices/system/cpu/cpu%u/cache/index%u/%s";
static const char cache_info[] = /sys/devices/system/cpu/cpu%u/cache/index%u/%s
[admiral0@thrud:~]$ ls /sys/devices/system/cpu/cpu0/cache
ls: cannot access '/sys/devices/system/cpu/cpu0/cache': No such file or directory
[admiral0@thrud:~]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 46 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 22
On-line CPU(s) list: 0-21
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) Ultra 9 185H
CPU family: 6
Model: 170
Thread(s) per core: 2
Core(s) per socket: 16
Socket(s): 1
Stepping: 4
CPU(s) scaling MHz: 18%
CPU max MHz: 5100,0000
CPU min MHz: 400,0000
BogoMIPS: 6144,00
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm con
stant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est
tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fa
ult epb intel_ppin ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdsee
d adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify h
wp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid bus_lock_detect movdiri movdir64b fsrm md_clear serialize p
config arch_lbr ibt flush_l1d arch_capabilities
Virtualization features:
Virtualization: VT-x
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-21
Vulnerabilities:
Gather data sampling: Not affected
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Reg file data sampling: Not affected
Retbleed: Not affected
Spec rstack overflow: Not affected
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS Not affected; BHI BHI_DIS_S
Srbds: Not affected
Tsx async abort: Not affected
Gonna do a read of the function and see if that info is in an alternate location. Hope I can get in a rough patch and send it to proton as well. Will post here when done.
Last edited by admiral0 (2024-09-30 00:22:03)
Offline
Made it work. I am pretending that we have a single L1 cache for all cores if the cache folder is not found. This patch applies for 9.0 in `wine` folder in proton sources.
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c
index 461922db7b0..1df4e2f3356 100644
--- a/dlls/ntdll/unix/system.c
+++ b/dlls/ntdll/unix/system.c
@@ -35,6 +35,7 @@
#include <errno.h>
#include <assert.h>
#include <sys/time.h>
+#include <sys/stat.h>
#include <time.h>
#include <dirent.h>
#ifdef HAVE_SYS_PARAM_H
@@ -1148,6 +1149,7 @@ static NTSTATUS create_logical_proc_info(void)
{
static const char core_info[] = "/sys/devices/system/cpu/cpu%u/topology/%s";
static const char cache_info[] = "/sys/devices/system/cpu/cpu%u/cache/index%u/%s";
+ static const char cache_info_dir[] = "/sys/devices/system/cpu/cpu%u/cache";
static const char numa_info[] = "/sys/devices/system/node/node%u/cpumap";
const char *env_fake_logical_cores = getenv("WINE_LOGICAL_CPUS_AS_CORES");
BOOL fake_logical_cpus_as_cores = env_fake_logical_cores && atoi(env_fake_logical_cores);
@@ -1156,6 +1158,7 @@ static NTSTATUS create_logical_proc_info(void)
char op, name[MAX_PATH];
ULONG_PTR all_cpus_mask = 0;
unsigned int cpu_id;
+ struct stat cache_dir_stat;
/* On systems with a large number of CPU cores (32 or 64 depending on 32-bit or 64-bit),
* we have issues parsing processor information:
@@ -1262,6 +1265,18 @@ static NTSTATUS create_logical_proc_info(void)
}
cpu_id = cpu_override.mapping.cpu_count ? cpu_override.mapping.host_cpu_id[i] : i;
+
+ snprintf(name, sizeof(name), cache_info_dir, cpu_id);
+ if(stat(name, &cache_dir_stat) != 0){
+ // Adding cache will fail in the next block so we add a fake one
+ CACHE_DESCRIPTOR fake_cache = { .Associativity = 8, .LineSize = 64, .Type = CacheUnified, .Size = 64 * 1024, .Level = 1 };
+ if (!logical_proc_info_add_cache( all_cpus_mask, &fake_cache ))
+ {
+ fclose(fcpu_list);
+ return STATUS_NO_MEMORY;
+ }
+ }
+
for(j = 0; j < 4; j++)
{
Offline
Glad to see someone has found a fix for this. Have you submitted a pull request yet? I'm trying to decide if I should compile from source with the fix or just wait until I get an update fixing the issue.
Offline