google / forma

An efficient vector-graphics renderer
Apache License 2.0
2.62k stars 51 forks source link

thread 'main' panicked at 'failed to find an appropriate adapter', demo/src/runner.rs:87:23 #11

Open AlbertoGP opened 1 year ago

AlbertoGP commented 1 year ago

Hi, just testing it on Linux ppc64le (IBM PowerPC 64-bit Little-Endian) with an old graphics card and I get this error message, which has probably more to do with wgpu-rs but might be useful to have as reference:

target/release/demo cpu circles
thread 'main' panicked at 'failed to find an appropriate adapter', demo/src/runner.rs:87:23
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The backtrace is not informative, just says that this happened inside main() and the rest is boilerplate, but I’ll add it if you request it.

I’ve just tried wgpu-rs in case the problem was there, and the examples run although with an error message:

wgpu$ cargo run --release --example skybox
   Compiling wgpu v0.14.0 (/tmp/ramdisk/wgpu/wgpu)
    Finished release [optimized] target(s) in 14.02s
     Running `/tmp/ramdisk/wgpu/target/release/examples/skybox`
[2022-12-16T17:23:35Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed
Using AMD TAHITI (LLVM 12.0.1, DRM 2.50, 5.19.16_1) (Gl)
Avg frame time 11.352801ms

This and other examples run, although examples/hello does not:

wgpu$ cargo run --release --example hello
   Compiling wgpu v0.14.0 (/tmp/ramdisk/wgpu/wgpu)
    Finished release [optimized] target(s) in 5.66s
     Running `/tmp/ramdisk/wgpu/target/release/examples/hello`
[2022-12-16T17:23:05Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed
[2022-12-16T17:23:05Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed

I was surprised because I thought that using the cpu device the graphic card would not matter.

dragostis commented 1 year ago

This is probably caused due to the somewhat large limits that forma is currently asking for. We can definitely do better here. Could you please run wgpu-info and provide the two values that we're asking for?

AlbertoGP commented 1 year ago

Hi, thanks for taking the time to look into this.

Max Texture Dimension 2d: 16384 Max Storage Buffer Binding Size: 536870912

imor commented 1 year ago

@AlbertoGP can you please try changing line 72 in gpu/renderer/mod.rs from this:

max_storage_buffer_binding_size: 1 << 30,

to this:

max_storage_buffer_binding_size: 1 << 29,

And running again?

AlbertoGP commented 1 year ago

I tried a few values all the way down to 1<<20 and it still fails in the same way.

Now, I did put a eprintln!() in front of those lines (let desc = …) and it does not come out on the console, it looks like those lines do not get run.

I was trying with the cpu device, but I tried again with l and with h just in case: I get the same error message, but at a different location inside demo/src/runner.rs, like 257 this time which makes sense because it’s inside impl GpuRunner instead of impl CpuRunner.

CPU: cargo run --release -- cpu spaceship GPU: cargo run --release -- l spaceship, cargo run --release -- h spaceship (same result for both)

vixalien commented 1 year ago

any update? I have this error as well and don't know what to do

imor commented 1 year ago

The way to troubleshoot this is to compare the difference in how the DeviceDescriptor is configured for the skybox example shared by @AlbertoGP (wgpu$ cargo run --release --example skybox) and what forma is using. I haven't been able to find time to look at it in detail (maybe I'll take a look at it later today) but if one of you guys @AlbertoGP @vixalien can try on your own that would be really helpful. Take a look at Code in wgpu skybox example's DeviceDescriptor in these files: https://github.com/gfx-rs/wgpu/blob/master/wgpu/examples/framework.rs#L223 and https://github.com/gfx-rs/wgpu/blob/master/wgpu/examples/skybox/main.rs

vixalien commented 1 year ago

I don't really understand rust so unless you provide really specific instructions, I don't think I may be of good use

dragostis commented 1 year ago

@AlbertoGP, could you please test the hello compute and hello triangle example in wgpu? https://github.com/gfx-rs/wgpu/tree/master/wgpu/examples

AlbertoGP commented 1 year ago

Sure, here is the result:

$ cargo run --release --example hello-compute 1 4 3 295
    Finished release [optimized] target(s) in 0.19s
     Running `target/release/examples/hello-compute 1 4 3 295`
[2022-12-20T18:40:06Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed
Steps: [0, 2, 7, 55]
$ cargo run --release --example hello-triangle
   Compiling wgpu v0.14.0 (/tmp/ramdisk/wgpu/wgpu)
    Finished release [optimized] target(s) in 6.53s
     Running `target/release/examples/hello-triangle`
[2022-12-20T18:38:04Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed

Both seem to work fine: hello-compute gives the same result as reported in wgpu/examples/hello-compute/README.md, and hello-triangle shows the red isosceles triangle over green background that adapts when you resize the window.

dragostis commented 1 year ago

I was also looking at: https://github.com/gfx-rs/wgpu/issues/2123

In their case, they had some issues with getting the display. If you have the time, could you please run our example in the debugger to see exactly why wgpu fails to return an adapter?

Maybe running vulkaninfo will also bring up some issues with your setup.

AlbertoGP commented 1 year ago

Well, vulkaninfo does not run because Vulkan does not work on this graphic card (Radeon 7990): it did work on this very system before with an AMD GPU of the Polaris class: that card stopped working and was replaced by this one, without adding or removing any packages.

Is there some way of getting a (probably slow) render just using the CPU?

vixalien commented 1 year ago
vulkan info output ``` ========== VULKANINFO ========== Vulkan Instance Version: 1.3.235 Instance Extensions: count = 20 =============================== VK_EXT_acquire_drm_display : extension revision 1 VK_EXT_acquire_xlib_display : extension revision 1 VK_EXT_debug_report : extension revision 10 VK_EXT_debug_utils : extension revision 2 VK_EXT_direct_mode_display : extension revision 1 VK_EXT_display_surface_counter : extension revision 1 VK_KHR_device_group_creation : extension revision 1 VK_KHR_display : extension revision 23 VK_KHR_external_fence_capabilities : extension revision 1 VK_KHR_external_memory_capabilities : extension revision 1 VK_KHR_external_semaphore_capabilities : extension revision 1 VK_KHR_get_display_properties2 : extension revision 1 VK_KHR_get_physical_device_properties2 : extension revision 2 VK_KHR_get_surface_capabilities2 : extension revision 1 VK_KHR_portability_enumeration : extension revision 1 VK_KHR_surface : extension revision 25 VK_KHR_surface_protected_capabilities : extension revision 1 VK_KHR_wayland_surface : extension revision 6 VK_KHR_xcb_surface : extension revision 6 VK_KHR_xlib_surface : extension revision 6 Layers: count = 3 ================= VK_LAYER_INTEL_nullhw (INTEL NULL HW) Vulkan version 1.1.73, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id = 0 (Intel(R) HD Graphics 620 (KBL GT2)) Layer-Device Extensions: count = 0 VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id = 0 (Intel(R) HD Graphics 620 (KBL GT2)) Layer-Device Extensions: count = 0 VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id = 0 (Intel(R) HD Graphics 620 (KBL GT2)) Layer-Device Extensions: count = 0 Presentable Surfaces: ===================== GPU id : 0 (Intel(R) HD Graphics 620 (KBL GT2)): Surface types: count = 2 VK_KHR_xcb_surface VK_KHR_xlib_surface Formats: count = 2 SurfaceFormat[0]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[1]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR Present Modes: count = 4 PRESENT_MODE_IMMEDIATE_KHR PRESENT_MODE_MAILBOX_KHR PRESENT_MODE_FIFO_KHR PRESENT_MODE_FIFO_RELAXED_KHR VkSurfaceCapabilitiesKHR: ------------------------- minImageCount = 3 maxImageCount = 0 currentExtent: width = 256 height = 256 minImageExtent: width = 256 height = 256 maxImageExtent: width = 256 height = 256 maxImageArrayLayers = 1 supportedTransforms: count = 1 SURFACE_TRANSFORM_IDENTITY_BIT_KHR currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR supportedCompositeAlpha: count = 2 COMPOSITE_ALPHA_OPAQUE_BIT_KHR COMPOSITE_ALPHA_INHERIT_BIT_KHR supportedUsageFlags: count = 6 IMAGE_USAGE_TRANSFER_SRC_BIT IMAGE_USAGE_TRANSFER_DST_BIT IMAGE_USAGE_SAMPLED_BIT IMAGE_USAGE_STORAGE_BIT IMAGE_USAGE_COLOR_ATTACHMENT_BIT IMAGE_USAGE_INPUT_ATTACHMENT_BIT VkSurfaceCapabilities2EXT: -------------------------- supportedSurfaceCounters: None VkSurfaceProtectedCapabilitiesKHR: ---------------------------------- supportsProtected = false GPU id : 0 (Intel(R) HD Graphics 620 (KBL GT2)): Surface type = VK_KHR_wayland_surface Formats: count = 7 SurfaceFormat[0]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[1]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[2]: format = FORMAT_R8G8B8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[3]: format = FORMAT_R8G8B8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[4]: format = FORMAT_A2R10G10B10_UNORM_PACK32 colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[5]: format = FORMAT_A2B10G10R10_UNORM_PACK32 colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[6]: format = FORMAT_R5G6B5_UNORM_PACK16 colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR Present Modes: count = 2 PRESENT_MODE_MAILBOX_KHR PRESENT_MODE_FIFO_KHR VkSurfaceCapabilitiesKHR: ------------------------- minImageCount = 4 maxImageCount = 0 currentExtent: width = 4294967295 height = 4294967295 minImageExtent: width = 1 height = 1 maxImageExtent: width = 16384 height = 16384 maxImageArrayLayers = 1 supportedTransforms: count = 1 SURFACE_TRANSFORM_IDENTITY_BIT_KHR currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR supportedCompositeAlpha: count = 2 COMPOSITE_ALPHA_OPAQUE_BIT_KHR COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR supportedUsageFlags: count = 6 IMAGE_USAGE_TRANSFER_SRC_BIT IMAGE_USAGE_TRANSFER_DST_BIT IMAGE_USAGE_SAMPLED_BIT IMAGE_USAGE_STORAGE_BIT IMAGE_USAGE_COLOR_ATTACHMENT_BIT IMAGE_USAGE_INPUT_ATTACHMENT_BIT VkSurfaceCapabilities2EXT: -------------------------- supportedSurfaceCounters: None VkSurfaceProtectedCapabilitiesKHR: ---------------------------------- supportsProtected = false Device Groups: ============== Group 0: Properties: physicalDevices: count = 1 Intel(R) HD Graphics 620 (KBL GT2) (ID: 0) subsetAllocation = 0 Present Capabilities: Intel(R) HD Graphics 620 (KBL GT2) (ID: 0): Can present images from the following devices: count = 1 Intel(R) HD Graphics 620 (KBL GT2) (ID: 0) Present modes: count = 1 DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR Device Properties and Extensions: ================================= GPU0: VkPhysicalDeviceProperties: --------------------------- apiVersion = 4206822 (1.3.230) driverVersion = 92286977 (0x5803001) vendorID = 0x8086 deviceID = 0x5916 deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU deviceName = Intel(R) HD Graphics 620 (KBL GT2) pipelineCacheUUID = 18778777-4ac6-ca4f-aa19-2a717094cc05 VkPhysicalDeviceLimits: ----------------------- maxImageDimension1D = 16384 maxImageDimension2D = 16384 maxImageDimension3D = 2048 maxImageDimensionCube = 16384 maxImageArrayLayers = 2048 maxTexelBufferElements = 134217728 maxUniformBufferRange = 134217728 maxStorageBufferRange = 1073741824 maxPushConstantsSize = 128 maxMemoryAllocationCount = 4294967295 maxSamplerAllocationCount = 65536 bufferImageGranularity = 0x00000001 sparseAddressSpaceSize = 0x00000000 maxBoundDescriptorSets = 32 maxPerStageDescriptorSamplers = 65535 maxPerStageDescriptorUniformBuffers = 64 maxPerStageDescriptorStorageBuffers = 65535 maxPerStageDescriptorSampledImages = 65535 maxPerStageDescriptorStorageImages = 65535 maxPerStageDescriptorInputAttachments = 64 maxPerStageResources = 4294967295 maxDescriptorSetSamplers = 393210 maxDescriptorSetUniformBuffers = 384 maxDescriptorSetUniformBuffersDynamic = 8 maxDescriptorSetStorageBuffers = 393210 maxDescriptorSetStorageBuffersDynamic = 8 maxDescriptorSetSampledImages = 393210 maxDescriptorSetStorageImages = 393210 maxDescriptorSetInputAttachments = 256 maxVertexInputAttributes = 29 maxVertexInputBindings = 31 maxVertexInputAttributeOffset = 2047 maxVertexInputBindingStride = 4095 maxVertexOutputComponents = 128 maxTessellationGenerationLevel = 64 maxTessellationPatchSize = 32 maxTessellationControlPerVertexInputComponents = 128 maxTessellationControlPerVertexOutputComponents = 128 maxTessellationControlPerPatchOutputComponents = 128 maxTessellationControlTotalOutputComponents = 2048 maxTessellationEvaluationInputComponents = 128 maxTessellationEvaluationOutputComponents = 128 maxGeometryShaderInvocations = 32 maxGeometryInputComponents = 128 maxGeometryOutputComponents = 128 maxGeometryOutputVertices = 256 maxGeometryTotalOutputComponents = 1024 maxFragmentInputComponents = 116 maxFragmentOutputAttachments = 8 maxFragmentDualSrcAttachments = 1 maxFragmentCombinedOutputResources = 131078 maxComputeSharedMemorySize = 65536 maxComputeWorkGroupCount: count = 3 65535 65535 65535 maxComputeWorkGroupInvocations = 1024 maxComputeWorkGroupSize: count = 3 1024 1024 1024 subPixelPrecisionBits = 8 subTexelPrecisionBits = 8 mipmapPrecisionBits = 8 maxDrawIndexedIndexValue = 4294967295 maxDrawIndirectCount = 4294967295 maxSamplerLodBias = 16 maxSamplerAnisotropy = 16 maxViewports = 16 maxViewportDimensions: count = 2 16384 16384 viewportBoundsRange: count = 2 -32768 32767 viewportSubPixelBits = 13 minMemoryMapAlignment = 4096 minTexelBufferOffsetAlignment = 0x00000010 minUniformBufferOffsetAlignment = 0x00000040 minStorageBufferOffsetAlignment = 0x00000004 minTexelOffset = -8 maxTexelOffset = 7 minTexelGatherOffset = -32 maxTexelGatherOffset = 31 minInterpolationOffset = -0.5 maxInterpolationOffset = 0.4375 subPixelInterpolationOffsetBits = 4 maxFramebufferWidth = 16384 maxFramebufferHeight = 16384 maxFramebufferLayers = 2048 framebufferColorSampleCounts: count = 5 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT framebufferDepthSampleCounts: count = 5 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_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 = 5 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT sampledImageIntegerSampleCounts: count = 5 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT sampledImageDepthSampleCounts: count = 5 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_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 = 1 SAMPLE_COUNT_1_BIT maxSampleMaskWords = 1 timestampComputeAndGraphics = true timestampPeriod = 83.3333 maxClipDistances = 8 maxCullDistances = 8 maxCombinedClipAndCullDistances = 8 discreteQueuePriorities = 2 pointSizeRange: count = 2 0.125 255.875 lineWidthRange: count = 2 0 8 pointSizeGranularity = 0.125 lineWidthGranularity = 0.0078125 strictLines = false standardSampleLocations = true optimalBufferCopyOffsetAlignment = 0x00000080 optimalBufferCopyRowPitchAlignment = 0x00000080 nonCoherentAtomSize = 0x00000040 VkPhysicalDeviceSparseProperties: --------------------------------- residencyStandard2DBlockShape = false residencyStandard2DMultisampleBlockShape = false residencyStandard3DBlockShape = false residencyAlignedMipSize = false residencyNonResidentStrict = false VkPhysicalDeviceConservativeRasterizationPropertiesEXT: ------------------------------------------------------- primitiveOverestimationSize = 0.00195312 maxExtraPrimitiveOverestimationSize = 0 extraPrimitiveOverestimationSizeGranularity = 0 primitiveUnderestimation = false conservativePointAndLineRasterization = false degenerateTrianglesRasterized = true degenerateLinesRasterized = false fullyCoveredFragmentShaderInputVariable = false conservativeRasterizationPostDepthCoverage = true VkPhysicalDeviceCustomBorderColorPropertiesEXT: ----------------------------------------------- maxCustomBorderColorSamplers = 4096 VkPhysicalDeviceDepthStencilResolveProperties: ---------------------------------------------- supportedDepthResolveModes: count = 4 RESOLVE_MODE_SAMPLE_ZERO_BIT RESOLVE_MODE_AVERAGE_BIT RESOLVE_MODE_MIN_BIT RESOLVE_MODE_MAX_BIT supportedStencilResolveModes: count = 3 RESOLVE_MODE_SAMPLE_ZERO_BIT RESOLVE_MODE_MIN_BIT RESOLVE_MODE_MAX_BIT independentResolveNone = true independentResolve = true VkPhysicalDeviceDescriptorIndexingProperties: --------------------------------------------- maxUpdateAfterBindDescriptorsInAllPools = 1048576 shaderUniformBufferArrayNonUniformIndexingNative = false shaderSampledImageArrayNonUniformIndexingNative = false shaderStorageBufferArrayNonUniformIndexingNative = true shaderStorageImageArrayNonUniformIndexingNative = false shaderInputAttachmentArrayNonUniformIndexingNative = false robustBufferAccessUpdateAfterBind = true quadDivergentImplicitLod = false maxPerStageDescriptorUpdateAfterBindSamplers = 1048576 maxPerStageDescriptorUpdateAfterBindUniformBuffers = 64 maxPerStageDescriptorUpdateAfterBindStorageBuffers = 4294967295 maxPerStageDescriptorUpdateAfterBindSampledImages = 1048576 maxPerStageDescriptorUpdateAfterBindStorageImages = 1048576 maxPerStageDescriptorUpdateAfterBindInputAttachments = 64 maxPerStageUpdateAfterBindResources = 4294967295 maxDescriptorSetUpdateAfterBindSamplers = 1048576 maxDescriptorSetUpdateAfterBindUniformBuffers = 384 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8 maxDescriptorSetUpdateAfterBindStorageBuffers = 4294967295 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8 maxDescriptorSetUpdateAfterBindSampledImages = 1048576 maxDescriptorSetUpdateAfterBindStorageImages = 1048576 maxDescriptorSetUpdateAfterBindInputAttachments = 256 VkPhysicalDeviceDriverProperties: --------------------------------- driverID = DRIVER_ID_INTEL_OPEN_SOURCE_MESA driverName = Intel open-source Mesa driver driverInfo = Mesa 22.3.1 conformanceVersion: major = 1 minor = 3 subminor = 0 patch = 0 VkPhysicalDeviceDrmPropertiesEXT: --------------------------------- hasPrimary = true hasRender = true primaryMajor = 226 primaryMinor = 0 renderMajor = 226 renderMinor = 128 VkPhysicalDeviceExternalMemoryHostPropertiesEXT: ------------------------------------------------ minImportedHostPointerAlignment = 0x00001000 VkPhysicalDeviceFloatControlsProperties: ---------------------------------------- denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE shaderSignedZeroInfNanPreserveFloat16 = true shaderSignedZeroInfNanPreserveFloat32 = true shaderSignedZeroInfNanPreserveFloat64 = true shaderDenormPreserveFloat16 = true shaderDenormPreserveFloat32 = true shaderDenormPreserveFloat64 = true shaderDenormFlushToZeroFloat16 = false shaderDenormFlushToZeroFloat32 = true shaderDenormFlushToZeroFloat64 = true shaderRoundingModeRTEFloat16 = true shaderRoundingModeRTEFloat32 = true shaderRoundingModeRTEFloat64 = true shaderRoundingModeRTZFloat16 = true shaderRoundingModeRTZFloat32 = true shaderRoundingModeRTZFloat64 = true VkPhysicalDeviceIDProperties: ----------------------------- deviceUUID = 904589c7-9910-41d2-7b92-a86bfab5c896 driverUUID = 73e20763-29f5-8faa-abee-7df950268eba deviceNodeMask = 0 deviceLUIDValid = false VkPhysicalDeviceInlineUniformBlockProperties: --------------------------------------------- maxInlineUniformBlockSize = 4096 maxPerStageDescriptorInlineUniformBlocks = 32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32 maxDescriptorSetInlineUniformBlocks = 32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 32 VkPhysicalDeviceLineRasterizationPropertiesEXT: ----------------------------------------------- lineSubPixelPrecisionBits = 4 VkPhysicalDeviceMaintenance3Properties: --------------------------------------- maxPerSetDescriptors = 1024 maxMemoryAllocationSize = 0x80000000 VkPhysicalDeviceMaintenance4Properties: --------------------------------------- maxBufferSize = 0x40000000 VkPhysicalDeviceMultiDrawPropertiesEXT: --------------------------------------- maxMultiDrawCount = 2048 VkPhysicalDeviceMultiviewProperties: ------------------------------------ maxMultiviewViewCount = 16 maxMultiviewInstanceIndex = 268435455 VkPhysicalDevicePCIBusInfoPropertiesEXT: ---------------------------------------- pciDomain = 0 pciBus = 0 pciDevice = 2 pciFunction = 0 VkPhysicalDevicePointClippingProperties: ---------------------------------------- pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY VkPhysicalDeviceProtectedMemoryProperties: ------------------------------------------ protectedNoFault = false VkPhysicalDeviceProvokingVertexPropertiesEXT: --------------------------------------------- provokingVertexModePerPipeline = true transformFeedbackPreservesTriangleFanProvokingVertex = false VkPhysicalDevicePushDescriptorPropertiesKHR: -------------------------------------------- maxPushDescriptors = 32 VkPhysicalDeviceRobustness2PropertiesEXT: ----------------------------------------- robustStorageBufferAccessSizeAlignment = 0x00000004 robustUniformBufferAccessSizeAlignment = 0x00000040 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 = false integerDotProduct4x8BitPackedSignedAccelerated = false integerDotProduct4x8BitPackedMixedSignednessAccelerated = false 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 = false integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = false integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false integerDotProductAccumulatingSaturating16BitSignedAccelerated = false integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false integerDotProductAccumulatingSaturating32BitSignedAccelerated = false integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false integerDotProductAccumulatingSaturating64BitSignedAccelerated = false integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT: ---------------------------------------------------- shaderModuleIdentifierAlgorithmUUID = 4d455341-2d53-4841-3100-000000000000 VkPhysicalDeviceSubgroupProperties: ----------------------------------- subgroupSize = 32 supportedStages: count = 8 SHADER_STAGE_VERTEX_BIT SHADER_STAGE_TESSELLATION_CONTROL_BIT SHADER_STAGE_TESSELLATION_EVALUATION_BIT SHADER_STAGE_GEOMETRY_BIT SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL supportedOperations: count = 8 SUBGROUP_FEATURE_BASIC_BIT SUBGROUP_FEATURE_VOTE_BIT SUBGROUP_FEATURE_ARITHMETIC_BIT SUBGROUP_FEATURE_BALLOT_BIT SUBGROUP_FEATURE_SHUFFLE_BIT SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT SUBGROUP_FEATURE_CLUSTERED_BIT SUBGROUP_FEATURE_QUAD_BIT quadOperationsInAllStages = true VkPhysicalDeviceSubgroupSizeControlProperties: ---------------------------------------------- minSubgroupSize = 8 maxSubgroupSize = 32 maxComputeWorkgroupSubgroups = 56 requiredSubgroupSizeStages: count = 4 SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL SHADER_STAGE_TASK_BIT_EXT SHADER_STAGE_MESH_BIT_EXT VkPhysicalDeviceTexelBufferAlignmentProperties: ----------------------------------------------- storageTexelBufferOffsetAlignmentBytes = 0x00000010 storageTexelBufferOffsetSingleTexelAlignment = true uniformTexelBufferOffsetAlignmentBytes = 0x00000001 uniformTexelBufferOffsetSingleTexelAlignment = false VkPhysicalDeviceTimelineSemaphoreProperties: -------------------------------------------- maxTimelineSemaphoreValueDifference = 18446744073709551615 VkPhysicalDeviceTransformFeedbackPropertiesEXT: ----------------------------------------------- maxTransformFeedbackStreams = 4 maxTransformFeedbackBuffers = 4 maxTransformFeedbackBufferSize = 0x100000000 maxTransformFeedbackStreamDataSize = 512 maxTransformFeedbackBufferDataSize = 512 maxTransformFeedbackBufferDataStride = 2048 transformFeedbackQueries = true transformFeedbackStreamsLinesTriangles = false transformFeedbackRasterizationStreamSelect = false transformFeedbackDraw = true VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT: ---------------------------------------------------- maxVertexAttribDivisor = 268435455 VkPhysicalDeviceVulkan11Properties: ----------------------------------- deviceUUID = 904589c7-9910-41d2-7b92-a86bfab5c896 driverUUID = 73e20763-29f5-8faa-abee-7df950268eba deviceNodeMask = 0 deviceLUIDValid = false subgroupSize = 32 subgroupSupportedStages: count = 8 SHADER_STAGE_VERTEX_BIT SHADER_STAGE_TESSELLATION_CONTROL_BIT SHADER_STAGE_TESSELLATION_EVALUATION_BIT SHADER_STAGE_GEOMETRY_BIT SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL subgroupSupportedOperations: count = 8 SUBGROUP_FEATURE_BASIC_BIT SUBGROUP_FEATURE_VOTE_BIT SUBGROUP_FEATURE_ARITHMETIC_BIT SUBGROUP_FEATURE_BALLOT_BIT SUBGROUP_FEATURE_SHUFFLE_BIT SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT SUBGROUP_FEATURE_CLUSTERED_BIT SUBGROUP_FEATURE_QUAD_BIT subgroupQuadOperationsInAllStages = true pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY maxMultiviewViewCount = 16 maxMultiviewInstanceIndex = 268435455 protectedNoFault = false maxPerSetDescriptors = 1024 maxMemoryAllocationSize = 0x80000000 VkPhysicalDeviceVulkan12Properties: ----------------------------------- driverID = DRIVER_ID_INTEL_OPEN_SOURCE_MESA driverName = Intel open-source Mesa driver driverInfo = Mesa 22.3.1 conformanceVersion: major = 1 minor = 3 subminor = 0 patch = 0 denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE shaderSignedZeroInfNanPreserveFloat16 = true shaderSignedZeroInfNanPreserveFloat32 = true shaderSignedZeroInfNanPreserveFloat64 = true shaderDenormPreserveFloat16 = true shaderDenormPreserveFloat32 = true shaderDenormPreserveFloat64 = true shaderDenormFlushToZeroFloat16 = false shaderDenormFlushToZeroFloat32 = true shaderDenormFlushToZeroFloat64 = true shaderRoundingModeRTEFloat16 = true shaderRoundingModeRTEFloat32 = true shaderRoundingModeRTEFloat64 = true shaderRoundingModeRTZFloat16 = true shaderRoundingModeRTZFloat32 = true shaderRoundingModeRTZFloat64 = true maxUpdateAfterBindDescriptorsInAllPools = 1048576 shaderUniformBufferArrayNonUniformIndexingNative = false shaderSampledImageArrayNonUniformIndexingNative = false shaderStorageBufferArrayNonUniformIndexingNative = true shaderStorageImageArrayNonUniformIndexingNative = false shaderInputAttachmentArrayNonUniformIndexingNative = false robustBufferAccessUpdateAfterBind = true quadDivergentImplicitLod = false maxPerStageDescriptorUpdateAfterBindSamplers = 1048576 maxPerStageDescriptorUpdateAfterBindUniformBuffers = 64 maxPerStageDescriptorUpdateAfterBindStorageBuffers = 4294967295 maxPerStageDescriptorUpdateAfterBindSampledImages = 1048576 maxPerStageDescriptorUpdateAfterBindStorageImages = 1048576 maxPerStageDescriptorUpdateAfterBindInputAttachments = 64 maxPerStageUpdateAfterBindResources = 4294967295 maxDescriptorSetUpdateAfterBindSamplers = 1048576 maxDescriptorSetUpdateAfterBindUniformBuffers = 384 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 8 maxDescriptorSetUpdateAfterBindStorageBuffers = 4294967295 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 8 maxDescriptorSetUpdateAfterBindSampledImages = 1048576 maxDescriptorSetUpdateAfterBindStorageImages = 1048576 maxDescriptorSetUpdateAfterBindInputAttachments = 256 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 = 5 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT VkPhysicalDeviceVulkan13Properties: ----------------------------------- minSubgroupSize = 8 maxSubgroupSize = 32 maxComputeWorkgroupSubgroups = 56 requiredSubgroupSizeStages: count = 4 SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL SHADER_STAGE_TASK_BIT_EXT SHADER_STAGE_MESH_BIT_EXT maxInlineUniformBlockSize = 4096 maxPerStageDescriptorInlineUniformBlocks = 32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32 maxDescriptorSetInlineUniformBlocks = 32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 32 maxInlineUniformTotalSize = 65535 integerDotProduct8BitUnsignedAccelerated = false integerDotProduct8BitSignedAccelerated = false integerDotProduct8BitMixedSignednessAccelerated = false integerDotProduct4x8BitPackedUnsignedAccelerated = false integerDotProduct4x8BitPackedSignedAccelerated = false integerDotProduct4x8BitPackedMixedSignednessAccelerated = false 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 = false integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = false integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false integerDotProductAccumulatingSaturating16BitSignedAccelerated = false integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false integerDotProductAccumulatingSaturating32BitSignedAccelerated = false integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false integerDotProductAccumulatingSaturating64BitSignedAccelerated = false integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false storageTexelBufferOffsetAlignmentBytes = 0x00000010 storageTexelBufferOffsetSingleTexelAlignment = true uniformTexelBufferOffsetAlignmentBytes = 0x00000001 uniformTexelBufferOffsetSingleTexelAlignment = false maxBufferSize = 0x40000000 Device Extensions: count = 126 VK_EXT_4444_formats : extension revision 1 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_clamp_zero_one : extension revision 1 VK_EXT_depth_clip_control : extension revision 1 VK_EXT_depth_clip_enable : extension revision 1 VK_EXT_descriptor_indexing : extension revision 2 VK_EXT_display_control : 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_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_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_memory_budget : extension revision 1 VK_EXT_multi_draw : extension revision 1 VK_EXT_mutable_descriptor_type : extension revision 1 VK_EXT_non_seamless_cube_map : extension revision 1 VK_EXT_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_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_atomic_float2 : extension revision 1 VK_EXT_shader_demote_to_helper_invocation : extension revision 1 VK_EXT_shader_module_identifier : extension revision 1 VK_EXT_shader_stencil_export : extension revision 1 VK_EXT_shader_subgroup_ballot : extension revision 1 VK_EXT_shader_subgroup_vote : extension revision 1 VK_EXT_shader_viewport_index_layer : extension revision 1 VK_EXT_subgroup_size_control : extension revision 2 VK_EXT_texel_buffer_alignment : extension revision 1 VK_EXT_tooling_info : extension revision 1 VK_EXT_transform_feedback : extension revision 1 VK_EXT_vertex_attribute_divisor : extension revision 3 VK_EXT_ycbcr_image_arrays : extension revision 1 VK_GOOGLE_decorate_string : extension revision 1 VK_GOOGLE_hlsl_functionality1 : extension revision 1 VK_GOOGLE_user_type : extension revision 1 VK_INTEL_shader_integer_functions2 : extension revision 1 VK_KHR_16bit_storage : extension revision 1 VK_KHR_8bit_storage : extension revision 1 VK_KHR_bind_memory2 : extension revision 1 VK_KHR_buffer_device_address : extension revision 1 VK_KHR_copy_commands2 : extension revision 1 VK_KHR_create_renderpass2 : extension revision 1 VK_KHR_dedicated_allocation : extension revision 3 VK_KHR_deferred_host_operations : extension revision 4 VK_KHR_depth_stencil_resolve : extension revision 1 VK_KHR_descriptor_update_template : extension revision 1 VK_KHR_device_group : extension revision 4 VK_KHR_draw_indirect_count : extension revision 1 VK_KHR_driver_properties : extension revision 1 VK_KHR_dynamic_rendering : extension revision 1 VK_KHR_external_fence : extension revision 1 VK_KHR_external_fence_fd : extension revision 1 VK_KHR_external_memory : extension revision 1 VK_KHR_external_memory_fd : extension revision 1 VK_KHR_external_semaphore : extension revision 1 VK_KHR_external_semaphore_fd : extension revision 1 VK_KHR_format_feature_flags2 : extension revision 2 VK_KHR_get_memory_requirements2 : extension revision 1 VK_KHR_image_format_list : extension revision 1 VK_KHR_imageless_framebuffer : extension revision 1 VK_KHR_incremental_present : extension revision 2 VK_KHR_maintenance1 : extension revision 2 VK_KHR_maintenance2 : extension revision 1 VK_KHR_maintenance3 : extension revision 1 VK_KHR_maintenance4 : extension revision 2 VK_KHR_multiview : extension revision 1 VK_KHR_pipeline_executable_properties : extension revision 1 VK_KHR_pipeline_library : extension revision 1 VK_KHR_push_descriptor : extension revision 2 VK_KHR_relaxed_block_layout : extension revision 1 VK_KHR_sampler_mirror_clamp_to_edge : extension revision 3 VK_KHR_sampler_ycbcr_conversion : extension revision 14 VK_KHR_separate_depth_stencil_layouts : extension revision 1 VK_KHR_shader_atomic_int64 : extension revision 1 VK_KHR_shader_clock : extension revision 1 VK_KHR_shader_draw_parameters : extension revision 1 VK_KHR_shader_float16_int8 : extension revision 1 VK_KHR_shader_float_controls : extension revision 4 VK_KHR_shader_integer_dot_product : extension revision 1 VK_KHR_shader_non_semantic_info : extension revision 1 VK_KHR_shader_subgroup_extended_types : extension revision 1 VK_KHR_shader_subgroup_uniform_control_flow : extension revision 1 VK_KHR_shader_terminate_invocation : extension revision 1 VK_KHR_spirv_1_4 : extension revision 1 VK_KHR_storage_buffer_storage_class : extension revision 1 VK_KHR_swapchain : extension revision 70 VK_KHR_swapchain_mutable_format : extension revision 1 VK_KHR_synchronization2 : extension revision 1 VK_KHR_timeline_semaphore : extension revision 2 VK_KHR_uniform_buffer_standard_layout : extension revision 1 VK_KHR_variable_pointers : extension revision 1 VK_KHR_vulkan_memory_model : extension revision 3 VK_KHR_workgroup_memory_explicit_layout : extension revision 1 VK_KHR_zero_initialize_workgroup_memory : extension revision 1 VK_NV_compute_shader_derivatives : extension revision 1 VK_VALVE_mutable_descriptor_type : extension revision 1 VkQueueFamilyProperties: ======================== queueProperties[0]: ------------------- minImageTransferGranularity = (1,1,1) queueCount = 1 queueFlags = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER timestampValidBits = 36 present support = true VkQueueFamilyGlobalPriorityPropertiesKHR: ----------------------------------------- priorityCount = 2 priorities: count = 2 QUEUE_GLOBAL_PRIORITY_LOW_KHR QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR VkPhysicalDeviceMemoryProperties: ================================= memoryHeaps: count = 1 memoryHeaps[0]: size = 12481769472 (0x2e7f8b000) (11.62 GiB) budget = 10041163776 (0x256800000) (9.35 GiB) usage = 0 (0x00000000) (0.00 B) flags: count = 1 MEMORY_HEAP_DEVICE_LOCAL_BIT memoryTypes: count = 1 memoryTypes[0]: heapIndex = 0 propertyFlags = 0x000f: count = 4 MEMORY_PROPERTY_DEVICE_LOCAL_BIT MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_COHERENT_BIT MEMORY_PROPERTY_HOST_CACHED_BIT usable for: IMAGE_TILING_OPTIMAL: color images FORMAT_D16_UNORM FORMAT_X8_D24_UNORM_PACK32 FORMAT_D32_SFLOAT FORMAT_S8_UINT FORMAT_D24_UNORM_S8_UINT FORMAT_D32_SFLOAT_S8_UINT (non-sparse) IMAGE_TILING_LINEAR: color images (non-sparse) 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 = false wideLines = true largePoints = true alphaToOne = true multiViewport = true samplerAnisotropy = true textureCompressionETC2 = true textureCompressionASTC_LDR = true textureCompressionBC = true occlusionQueryPrecise = true pipelineStatisticsQuery = true vertexPipelineStoresAndAtomics = true fragmentStoresAndAtomics = true shaderTessellationAndGeometryPointSize = true shaderImageGatherExtended = true shaderStorageImageExtendedFormats = true shaderStorageImageMultisample = false shaderStorageImageReadWithoutFormat = false shaderStorageImageWriteWithoutFormat = true shaderUniformBufferArrayDynamicIndexing = true shaderSampledImageArrayDynamicIndexing = true shaderStorageBufferArrayDynamicIndexing = true shaderStorageImageArrayDynamicIndexing = true shaderClipDistance = true shaderCullDistance = true shaderFloat64 = true shaderInt64 = true shaderInt16 = true shaderResourceResidency = false shaderResourceMinLod = true sparseBinding = false sparseResidencyBuffer = false sparseResidencyImage2D = false sparseResidencyImage3D = false sparseResidency2Samples = false sparseResidency4Samples = false sparseResidency8Samples = false sparseResidency16Samples = false sparseResidencyAliased = false variableMultisampleRate = true inheritedQueries = true VkPhysicalDevice16BitStorageFeatures: ------------------------------------- storageBuffer16BitAccess = true uniformAndStorageBuffer16BitAccess = true storagePushConstant16 = true storageInputOutput16 = false VkPhysicalDevice4444FormatsFeaturesEXT: --------------------------------------- formatA4R4G4B4 = true formatA4B4G4R4 = false VkPhysicalDevice8BitStorageFeatures: ------------------------------------ storageBuffer8BitAccess = true uniformAndStorageBuffer8BitAccess = true storagePushConstant8 = true VkPhysicalDeviceBorderColorSwizzleFeaturesEXT: ---------------------------------------------- borderColorSwizzle = true borderColorSwizzleFromImage = true VkPhysicalDeviceBufferDeviceAddressFeatures: -------------------------------------------- bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = true bufferDeviceAddressMultiDevice = false VkPhysicalDeviceBufferDeviceAddressFeaturesEXT: ----------------------------------------------- bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = false bufferDeviceAddressMultiDevice = false VkPhysicalDeviceColorWriteEnableFeaturesEXT: -------------------------------------------- colorWriteEnable = true VkPhysicalDeviceConditionalRenderingFeaturesEXT: ------------------------------------------------ conditionalRendering = true inheritedConditionalRendering = true VkPhysicalDeviceCustomBorderColorFeaturesEXT: --------------------------------------------- customBorderColors = true customBorderColorWithoutFormat = true VkPhysicalDeviceDepthClampZeroOneFeaturesEXT: --------------------------------------------- depthClampZeroOne = true VkPhysicalDeviceDepthClipControlFeaturesEXT: -------------------------------------------- depthClipControl = true VkPhysicalDeviceDepthClipEnableFeaturesEXT: ------------------------------------------- depthClipEnable = true VkPhysicalDeviceDescriptorIndexingFeatures: ------------------------------------------- shaderInputAttachmentArrayDynamicIndexing = false shaderUniformTexelBufferArrayDynamicIndexing = true shaderStorageTexelBufferArrayDynamicIndexing = true shaderUniformBufferArrayNonUniformIndexing = false shaderSampledImageArrayNonUniformIndexing = true shaderStorageBufferArrayNonUniformIndexing = true shaderStorageImageArrayNonUniformIndexing = true shaderInputAttachmentArrayNonUniformIndexing = false shaderUniformTexelBufferArrayNonUniformIndexing = true shaderStorageTexelBufferArrayNonUniformIndexing = true descriptorBindingUniformBufferUpdateAfterBind = true descriptorBindingSampledImageUpdateAfterBind = true descriptorBindingStorageImageUpdateAfterBind = true descriptorBindingStorageBufferUpdateAfterBind = true descriptorBindingUniformTexelBufferUpdateAfterBind = true descriptorBindingStorageTexelBufferUpdateAfterBind = true descriptorBindingUpdateUnusedWhilePending = true descriptorBindingPartiallyBound = true descriptorBindingVariableDescriptorCount = true runtimeDescriptorArray = true VkPhysicalDeviceDynamicRenderingFeatures: ----------------------------------------- dynamicRendering = true VkPhysicalDeviceExtendedDynamicState2FeaturesEXT: ------------------------------------------------- extendedDynamicState2 = true extendedDynamicState2LogicOp = true extendedDynamicState2PatchControlPoints = false VkPhysicalDeviceExtendedDynamicStateFeaturesEXT: ------------------------------------------------ extendedDynamicState = true VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT: --------------------------------------------------- fragmentShaderSampleInterlock = true fragmentShaderPixelInterlock = true fragmentShaderShadingRateInterlock = false VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR: ----------------------------------------------- globalPriorityQuery = true VkPhysicalDeviceHostQueryResetFeatures: --------------------------------------- hostQueryReset = true VkPhysicalDeviceImage2DViewOf3DFeaturesEXT: ------------------------------------------- image2DViewOf3D = true sampler2DViewOf3D = true VkPhysicalDeviceImageRobustnessFeatures: ---------------------------------------- robustImageAccess = true VkPhysicalDeviceImageViewMinLodFeaturesEXT: ------------------------------------------- minLod = true VkPhysicalDeviceImagelessFramebufferFeatures: --------------------------------------------- imagelessFramebuffer = true VkPhysicalDeviceIndexTypeUint8FeaturesEXT: ------------------------------------------ indexTypeUint8 = true VkPhysicalDeviceInlineUniformBlockFeatures: ------------------------------------------- inlineUniformBlock = true descriptorBindingInlineUniformBlockUpdateAfterBind = true VkPhysicalDeviceLineRasterizationFeaturesEXT: --------------------------------------------- rectangularLines = false bresenhamLines = true smoothLines = true stippledRectangularLines = false stippledBresenhamLines = true stippledSmoothLines = false VkPhysicalDeviceMaintenance4Features: ------------------------------------- maintenance4 = true VkPhysicalDeviceMultiDrawFeaturesEXT: ------------------------------------- multiDraw = true VkPhysicalDeviceMultiviewFeatures: ---------------------------------- multiview = true multiviewGeometryShader = true multiviewTessellationShader = true VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT: ---------------------------------------------- nonSeamlessCubeMap = true VkPhysicalDevicePipelineCreationCacheControlFeatures: ----------------------------------------------------- pipelineCreationCacheControl = true VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR: -------------------------------------------------------- pipelineExecutableInfo = true VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT: -------------------------------------------------------- primitiveTopologyListRestart = true primitiveTopologyPatchListRestart = true VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT: ---------------------------------------------------- primitivesGeneratedQuery = true primitivesGeneratedQueryWithRasterizerDiscard = false primitivesGeneratedQueryWithNonZeroStreams = false VkPhysicalDevicePrivateDataFeatures: ------------------------------------ privateData = true VkPhysicalDeviceProtectedMemoryFeatures: ---------------------------------------- protectedMemory = false VkPhysicalDeviceProvokingVertexFeaturesEXT: ------------------------------------------- provokingVertexLast = true transformFeedbackPreservesProvokingVertex = true VkPhysicalDeviceRobustness2FeaturesEXT: --------------------------------------- robustBufferAccess2 = true robustImageAccess2 = true nullDescriptor = true VkPhysicalDeviceSamplerYcbcrConversionFeatures: ----------------------------------------------- samplerYcbcrConversion = true VkPhysicalDeviceScalarBlockLayoutFeatures: ------------------------------------------ scalarBlockLayout = true VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures: ---------------------------------------------------- separateDepthStencilLayouts = true VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT: ---------------------------------------------- shaderBufferFloat16Atomics = false shaderBufferFloat16AtomicAdd = false shaderBufferFloat16AtomicMinMax = false shaderBufferFloat32AtomicMinMax = true shaderBufferFloat64AtomicMinMax = false shaderSharedFloat16Atomics = false shaderSharedFloat16AtomicAdd = false shaderSharedFloat16AtomicMinMax = false shaderSharedFloat32AtomicMinMax = true shaderSharedFloat64AtomicMinMax = false shaderImageFloat32AtomicMinMax = false sparseImageFloat32AtomicMinMax = false VkPhysicalDeviceShaderAtomicFloatFeaturesEXT: --------------------------------------------- shaderBufferFloat32Atomics = true shaderBufferFloat32AtomicAdd = false shaderBufferFloat64Atomics = false shaderBufferFloat64AtomicAdd = false shaderSharedFloat32Atomics = true shaderSharedFloat32AtomicAdd = false shaderSharedFloat64Atomics = false shaderSharedFloat64AtomicAdd = false shaderImageFloat32Atomics = true shaderImageFloat32AtomicAdd = false sparseImageFloat32Atomics = false sparseImageFloat32AtomicAdd = false VkPhysicalDeviceShaderAtomicInt64Features: ------------------------------------------ shaderBufferInt64Atomics = true shaderSharedInt64Atomics = false VkPhysicalDeviceShaderClockFeaturesKHR: --------------------------------------- shaderSubgroupClock = true shaderDeviceClock = false VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures: ------------------------------------------------------- shaderDemoteToHelperInvocation = true VkPhysicalDeviceShaderDrawParametersFeatures: --------------------------------------------- shaderDrawParameters = true VkPhysicalDeviceShaderFloat16Int8Features: ------------------------------------------ shaderFloat16 = true shaderInt8 = true VkPhysicalDeviceShaderIntegerDotProductFeatures: ------------------------------------------------ shaderIntegerDotProduct = true VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT: -------------------------------------------------- shaderModuleIdentifier = true VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures: ---------------------------------------------------- shaderSubgroupExtendedTypes = true VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR: ------------------------------------------------------------ shaderSubgroupUniformControlFlow = true VkPhysicalDeviceShaderTerminateInvocationFeatures: -------------------------------------------------- shaderTerminateInvocation = true VkPhysicalDeviceSubgroupSizeControlFeatures: -------------------------------------------- subgroupSizeControl = true computeFullSubgroups = true VkPhysicalDeviceSynchronization2Features: ----------------------------------------- synchronization2 = true VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT: ------------------------------------------------ texelBufferAlignment = true VkPhysicalDeviceTextureCompressionASTCHDRFeatures: -------------------------------------------------- textureCompressionASTC_HDR = false VkPhysicalDeviceTimelineSemaphoreFeatures: ------------------------------------------ timelineSemaphore = true VkPhysicalDeviceTransformFeedbackFeaturesEXT: --------------------------------------------- transformFeedback = true geometryStreams = true VkPhysicalDeviceUniformBufferStandardLayoutFeatures: ---------------------------------------------------- uniformBufferStandardLayout = true VkPhysicalDeviceVariablePointersFeatures: ----------------------------------------- variablePointersStorageBuffer = true variablePointers = true VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT: -------------------------------------------------- vertexAttributeInstanceRateDivisor = true vertexAttributeInstanceRateZeroDivisor = true VkPhysicalDeviceVulkan11Features: --------------------------------- storageBuffer16BitAccess = true uniformAndStorageBuffer16BitAccess = true storagePushConstant16 = 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 = false shaderFloat16 = true shaderInt8 = true descriptorIndexing = true shaderInputAttachmentArrayDynamicIndexing = false shaderUniformTexelBufferArrayDynamicIndexing = true shaderStorageTexelBufferArrayDynamicIndexing = true shaderUniformBufferArrayNonUniformIndexing = false shaderSampledImageArrayNonUniformIndexing = true shaderStorageBufferArrayNonUniformIndexing = true shaderStorageImageArrayNonUniformIndexing = true shaderInputAttachmentArrayNonUniformIndexing = false shaderUniformTexelBufferArrayNonUniformIndexing = true shaderStorageTexelBufferArrayNonUniformIndexing = true descriptorBindingUniformBufferUpdateAfterBind = true descriptorBindingSampledImageUpdateAfterBind = true descriptorBindingStorageImageUpdateAfterBind = true descriptorBindingStorageBufferUpdateAfterBind = true descriptorBindingUniformTexelBufferUpdateAfterBind = true descriptorBindingStorageTexelBufferUpdateAfterBind = true descriptorBindingUpdateUnusedWhilePending = true descriptorBindingPartiallyBound = true descriptorBindingVariableDescriptorCount = true runtimeDescriptorArray = true samplerFilterMinmax = true scalarBlockLayout = true imagelessFramebuffer = true uniformBufferStandardLayout = true shaderSubgroupExtendedTypes = true separateDepthStencilLayouts = true hostQueryReset = true timelineSemaphore = true bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = true bufferDeviceAddressMultiDevice = false vulkanMemoryModel = true vulkanMemoryModelDeviceScope = true vulkanMemoryModelAvailabilityVisibilityChains = 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 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT: -------------------------------------------- ycbcrImageArrays = true VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures: ------------------------------------------------------ shaderZeroInitializeWorkgroupMemory = true ```
vixalien commented 1 year ago

Sure, here is the result:

$ cargo run --release --example hello-compute 1 4 3 295
    Finished release [optimized] target(s) in 0.19s
     Running `target/release/examples/hello-compute 1 4 3 295`
[2022-12-20T18:40:06Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed
Steps: [0, 2, 7, 55]
$ cargo run --release --example hello-triangle
   Compiling wgpu v0.14.0 (/tmp/ramdisk/wgpu/wgpu)
    Finished release [optimized] target(s) in 6.53s
     Running `target/release/examples/hello-triangle`
[2022-12-20T18:38:04Z ERROR wgpu_hal::vulkan::instance] enumerate_adapters: Initialization of an object has failed

Both seem to work fine: hello-compute gives the same result as reported in wgpu/examples/hello-compute/README.md, and hello-triangle shows the red isosceles triangle over green background that adapts when you resize the window.

works for me too

vixalien commented 1 year ago

update: it works for me, after I git pulled