hello world example panics
Describe the bug
After installing cmd/core and running core setup I attempted to run the basics / hello world example:
https://www.cogentcore.org/core/basics/hello-world
this panics.
How to reproduce
OS: archlinux Golang: go1.23.0 linux/amd64
Example code
package main
import "cogentcore.org/core/core"
func main() {
b := core.NewBody()
core.NewButton(b).SetText("Hello, World!")
b.RunMainWindow()
}
Relevant output
$ go run main.go
panic: runtime error: index out of range [0] with length 0
goroutine 1 [running, locked to thread]:
cogentcore.org/core/gpu.(*GPU).init(0xc0001b2360)
/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/gpu/gpu.go:108 +0x418
cogentcore.org/core/gpu.NewGPU(...)
/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/gpu/gpu.go:88
cogentcore.org/core/system/driver/desktop.(*App).InitGPU(0x1dc1240)
/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/system/driver/desktop/app.go:91 +0x174
cogentcore.org/core/system/driver/desktop.Init()
/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/system/driver/desktop/app.go:29 +0x1f
cogentcore.org/core/system/driver.init.0()
/home/user/go/src/github.com/user/project/vendor/cogentcore.org/core/system/driver/driver_desktop.go:30 +0xb8
exit status 2
Platform
Linux
Thank you for reporting this. Can you try running this command and paste in the output here?
go run cogentcore.org/core/gpu/cmd/webgpuinfo@main
I ran the following from ssh session to the machine where I have cogent installed; that may be the reason for the logging No windowing system present
Will try to test it again when I'm actually at that machine.
$ go run cogentcore.org/core/gpu/cmd/webgpuinfo@main
[wgpu] [Warn] Unable to find extension: VK_KHR_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xlib_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xcb_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_wayland_surface
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Unable to find extension: VK_KHR_get_physical_device_properties2
[wgpu] [Warn] No windowing system present. Using surfaceless platform
[wgpu] [Warn] No config found!
[wgpu] [Warn] No config found!
#####################################################################
WebGPU Adapter number: 0 Type: integrated-gpu Backend: open-gl
{
"VendorId": 32902,
"VendorName": "0x8086",
"Architecture": "",
"DeviceId": 0,
"Name": "0x0",
"DriverDescription": "Mesa Intel(R) HD Graphics 4000 (IVB GT2)",
"AdapterType": 1,
"BackendType": 7
}
{
"Limits": {
"MaxTextureDimension1D": 16384,
"MaxTextureDimension2D": 16384,
"MaxTextureDimension3D": 2048,
"MaxTextureArrayLayers": 2048,
"MaxBindGroups": 8,
"MaxBindingsPerBindGroup": 65535,
"MaxDynamicUniformBuffersPerPipelineLayout": 15,
"MaxDynamicStorageBuffersPerPipelineLayout": 0,
"MaxSampledTexturesPerShaderStage": 16,
"MaxSamplersPerShaderStage": 16,
"MaxStorageBuffersPerShaderStage": 0,
"MaxStorageTexturesPerShaderStage": 0,
"MaxUniformBuffersPerShaderStage": 15,
"MaxUniformBufferBindingSize": 65536,
"MaxStorageBufferBindingSize": 0,
"MinUniformBufferOffsetAlignment": 32,
"MinStorageBufferOffsetAlignment": 256,
"MaxVertexBuffers": 16,
"MaxBufferSize": 2147483647,
"MaxVertexAttributes": 16,
"MaxVertexBufferArrayStride": 4294967295,
"MaxInterStageShaderComponents": 128,
"MaxInterStageShaderVariables": 0,
"MaxColorAttachments": 0,
"MaxColorAttachmentBytesPerSample": 0,
"MaxComputeWorkgroupStorageSize": 0,
"MaxComputeInvocationsPerWorkgroup": 0,
"MaxComputeWorkgroupSizeX": 0,
"MaxComputeWorkgroupSizeY": 0,
"MaxComputeWorkgroupSizeZ": 0,
"MaxComputeWorkgroupsPerDimension": 0,
"MaxPushConstantSize": 0
}
}
cogentcore/core looks like a great library, I'd love to see what it can really do if I can get it to work on this machine.
Yes, I doubt that it would work correctly from ssh, so thank you for planning to test it directly on the machine.
I'm using xfce4 if that is relevant
$ go run cogentcore.org/core/gpu/cmd/webgpuinfo@main
[wgpu] [Warn] Unable to find extension: VK_KHR_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xlib_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xcb_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_wayland_surface
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Unable to find extension: VK_KHR_get_physical_device_properties2
[user@linux core]$ core setup
sudo pacman -S xorg-server-devel libxcursor libxrandr libxinerama libxi
[sudo] password for user:
warning: xorg-server-devel-21.1.13-1 is up to date -- reinstalling
warning: libxcursor-1.2.2-1 is up to date -- reinstalling
warning: libxrandr-1.5.4-1 is up to date -- reinstalling
warning: libxinerama-1.1.5-2 is up to date -- reinstalling
warning: libxi-1.8.2-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...
Packages (5) libxcursor-1.2.2-1 libxi-1.8.2-1 libxinerama-1.1.5-2 libxrandr-1.5.4-1
xorg-server-devel-21.1.13-1
Total Installed Size: 1.84 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n] y
(5/5) checking keys in keyring [################################] 100%
(5/5) checking package integrity [################################] 100%
(5/5) loading package files [################################] 100%
(5/5) checking for file conflicts [################################] 100%
(5/5) checking available disk space [################################] 100%
:: Processing package changes...
(1/5) reinstalling xorg-server-devel [################################] 100%
(2/5) reinstalling libxcursor [################################] 100%
(3/5) reinstalling libxrandr [################################] 100%
(4/5) reinstalling libxinerama [################################] 100%
(5/5) reinstalling libxi [################################] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Create a backup list of all installed packages
(3/4) Check if user should be informed about rebooting after certain system package upgrades.
(4/4) Checking which packages need to be rebuilt
core setup succeeded
I know i have core installed but it seems there is no simple way to check the version.
Also, for the record, if you put n here because you just want to skip reinstalling the current versions which you have already installed
:: Proceed with installation? [Y/n] n
then it will not go on to actually print core setup succeeded.
Thank you for the information. Can you try this command?
go run github.com/cogentcore/webgpu/examples/triangle@main
The window briefly appears ; then the example crashes
$ go run github.com/cogentcore/webgpu/examples/triangle@main
[wgpu] [Warn] Unable to find extension: VK_KHR_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xlib_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_xcb_surface
[wgpu] [Warn] Unable to find extension: VK_KHR_wayland_surface
[wgpu] [Warn] Unable to find extension: VK_EXT_swapchain_colorspace
[wgpu] [Warn] Unable to find extension: VK_KHR_get_physical_device_properties2
thread '<unnamed>' panicked at /home/runner/.cargo/git/checkouts/wgpu-53e70f8674b08dd4/87576b7/wgpu-core/src/instance.rs:521:39:
called `Option::unwrap()` on a `None` value
stack backtrace:
0: 0x94d7b5 - <unknown>
1: 0x99ba3b - <unknown>
2: 0x942d9f - <unknown>
3: 0x94d58e - <unknown>
4: 0x94ffc9 - <unknown>
5: 0x94fd6a - <unknown>
6: 0x950523 - <unknown>
7: 0x9503cb - <unknown>
8: 0x94dc79 - <unknown>
9: 0x950137 - <unknown>
10: 0x43d253 - <unknown>
11: 0x43d2fc - <unknown>
12: 0x43d1b9 - <unknown>
13: 0x9fa67d - <unknown>
14: 0x5474c5 - <unknown>
15: 0x5216eb - <unknown>
16: 0x4ac524 - <unknown>
fatal runtime error: failed to initiate panic, error 5
SIGABRT: abort
PC=0x718cebfc83f4 m=0 sigcode=18446744073709551610
signal arrived during cgo execution
goroutine 1 gp=0xc0000061c0 m=0 mp=0xde4220 [syscall, locked to thread]:
runtime.cgocall(0x5216d0, 0xc000068af0)
/usr/lib/go/src/runtime/cgocall.go:167 +0x4b fp=0xc000068ac8 sp=0xc000068a90 pc=0x4a0bab
github.com/cogentcore/webgpu/wgpu._Cfunc_wgpuInstanceCreateSurface(0x2f9f6790, 0xc000016060)
_cgo_gotypes.go:2344 +0x4c fp=0xc000068af0 sp=0xc000068ac8 pc=0x4f6b4c
github.com/cogentcore/webgpu/wgpu.(*Instance).CreateSurface.func8(0x20?, 0xc000016060)
/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/wgpu/instance.go:180 +0x6c fp=0xc000068b30 sp=0xc000068af0 pc=0x4fd9ac
github.com/cogentcore/webgpu/wgpu.(*Instance).CreateSurface(0xc000014160, 0xc000034080)
/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/wgpu/instance.go:180 +0x6c7 fp=0xc000068c20 sp=0xc000068b30 pc=0x4fd7c7
main.InitState[...](0xc00013a000, 0xc000034080)
/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/main.go:57 +0xf0 fp=0xc000068e80 sp=0xc000068c20 pc=0x508c30
main.main()
/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/glfw.go:27 +0xe5 fp=0xc000068f50 sp=0xc000068e80 pc=0x5075c5
runtime.main()
/usr/lib/go/src/runtime/proc.go:272 +0x28b fp=0xc000068fe0 sp=0xc000068f50 pc=0x474f2b
runtime.goexit({})
/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000068fe8 sp=0xc000068fe0 pc=0x4ac8a1
goroutine 2 gp=0xc000006c40 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000056fa8 sp=0xc000056f88 pc=0x4a59ee
runtime.goparkunlock(...)
/usr/lib/go/src/runtime/proc.go:430
runtime.forcegchelper()
/usr/lib/go/src/runtime/proc.go:337 +0xb3 fp=0xc000056fe0 sp=0xc000056fa8 pc=0x475273
runtime.goexit({})
/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000056fe8 sp=0xc000056fe0 pc=0x4ac8a1
created by runtime.init.7 in goroutine 1
/usr/lib/go/src/runtime/proc.go:325 +0x1a
goroutine 3 gp=0xc000007180 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000057780 sp=0xc000057760 pc=0x4a59ee
runtime.goparkunlock(...)
/usr/lib/go/src/runtime/proc.go:430
runtime.bgsweep(0xc00007c000)
/usr/lib/go/src/runtime/mgcsweep.go:277 +0x94 fp=0xc0000577c8 sp=0xc000057780 pc=0x4608d4
runtime.gcenable.gowrap1()
/usr/lib/go/src/runtime/mgc.go:203 +0x25 fp=0xc0000577e0 sp=0xc0000577c8 pc=0x455265
runtime.goexit({})
/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0000577e8 sp=0xc0000577e0 pc=0x4ac8a1
created by runtime.gcenable in goroutine 1
/usr/lib/go/src/runtime/mgc.go:203 +0x66
goroutine 4 gp=0xc000007340 m=nil [GC scavenge wait]:
runtime.gopark(0xc00007c000?, 0xadf3f8?, 0x1?, 0x0?, 0xc000007340?)
/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000057f78 sp=0xc000057f58 pc=0x4a59ee
runtime.goparkunlock(...)
/usr/lib/go/src/runtime/proc.go:430
runtime.(*scavengerState).park(0xde3480)
/usr/lib/go/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000057fa8 sp=0xc000057f78 pc=0x45e309
runtime.bgscavenge(0xc00007c000)
/usr/lib/go/src/runtime/mgcscavenge.go:653 +0x3c fp=0xc000057fc8 sp=0xc000057fa8 pc=0x45e87c
runtime.gcenable.gowrap2()
/usr/lib/go/src/runtime/mgc.go:204 +0x25 fp=0xc000057fe0 sp=0xc000057fc8 pc=0x455205
runtime.goexit({})
/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc000057fe8 sp=0xc000057fe0 pc=0x4ac8a1
created by runtime.gcenable in goroutine 1
/usr/lib/go/src/runtime/mgc.go:204 +0xa5
goroutine 18 gp=0xc000104700 m=nil [finalizer wait]:
runtime.gopark(0xc000056648?, 0x44bda5?, 0xb0?, 0x1?, 0xc0000061c0?)
/usr/lib/go/src/runtime/proc.go:424 +0xce fp=0xc000056620 sp=0xc000056600 pc=0x4a59ee
runtime.runfinq()
/usr/lib/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000567e0 sp=0xc000056620 pc=0x4542e7
runtime.goexit({})
/usr/lib/go/src/runtime/asm_amd64.s:1700 +0x1 fp=0xc0000567e8 sp=0xc0000567e0 pc=0x4ac8a1
created by runtime.createfing in goroutine 1
/usr/lib/go/src/runtime/mfinal.go:163 +0x3d
rax 0x0
rbx 0x2a95
rcx 0x718cebfc83f4
rdx 0x6
rdi 0x2a95
rsi 0x2a95
rbp 0x7ffe2a8a24e0
rsp 0x7ffe2a8a24a0
r8 0x0
r9 0x0
r10 0x8
r11 0x246
r12 0x718cebde1c40
r13 0x0
r14 0x6
r15 0x718cebde1c40
rip 0x718cebfc83f4
rflags 0x246
cs 0x33
fs 0x0
gs 0x0
exit status 2
@0pcom Thank you for the information. Can you follow the steps linked below to install Vulkan and see if that fixes the issue? If it doesn't, please send the output of vulkaninfo.
https://wiki.archlinux.org/title/Vulkan
$ go run github.com/cogentcore/webgpu/examples/triangle@main
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
[wgpu] [Warn] Adapter is not Vulkan compliant, hiding adapter: Intel(R) HD Graphics 4000 (IVB GT2)
panic: failed to request adapter
goroutine 1 [running, locked to thread]:
main.main()
/home/user/go/pkg/mod/github.com/cogentcore/[email protected]/examples/triangle/glfw.go:29 +0x325
exit status 2
$ vulkaninfo
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.295
Instance Extensions: count = 24
===============================
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_headless_surface : 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 = 1
=================
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.3.290, layer version 1:
Layer Extensions: count = 4
VK_EXT_debug_report : extension revision 9
VK_EXT_debug_utils : extension revision 1
VK_EXT_layer_settings : extension revision 2
VK_EXT_validation_features : extension revision 2
Devices: count = 1
GPU id = 0 (Intel(R) HD Graphics 4000 (IVB GT2))
Layer-Device Extensions: count = 3
VK_EXT_debug_marker : extension revision 4
VK_EXT_tooling_info : extension revision 1
VK_EXT_validation_cache : extension revision 1
Presentable Surfaces:
=====================
GPU id : 0 (Intel(R) HD Graphics 4000 (IVB 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
VkSurfaceProtectedCapabilitiesKHR:
----------------------------------
supportsProtected = false
VK_EXT_surface_maintenance_1:
-----------------------------
PRESENT_MODE_IMMEDIATE_KHR:
VkSurfacePresentScalingCapabilitiesEXT:
supportedPresentScaling:
None
supportedPresentGravityX:
None
supportedPresentGravityY:
None
minScaledImageExtent:
width = 256
height = 256
maxScaledImageExtent:
width = 256
height = 256
VkSurfacePresentModeCompatibilityEXT:
presentModeCount = 4
pPresentModes: count = 4
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_MAILBOX_KHR:
VkSurfacePresentScalingCapabilitiesEXT:
supportedPresentScaling:
None
supportedPresentGravityX:
None
supportedPresentGravityY:
None
minScaledImageExtent:
width = 256
height = 256
maxScaledImageExtent:
width = 256
height = 256
VkSurfacePresentModeCompatibilityEXT:
presentModeCount = 4
pPresentModes: count = 4
PRESENT_MODE_MAILBOX_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_FIFO_KHR:
VkSurfacePresentScalingCapabilitiesEXT:
supportedPresentScaling:
None
supportedPresentGravityX:
None
supportedPresentGravityY:
None
minScaledImageExtent:
width = 256
height = 256
maxScaledImageExtent:
width = 256
height = 256
VkSurfacePresentModeCompatibilityEXT:
presentModeCount = 4
pPresentModes: count = 4
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_FIFO_RELAXED_KHR:
VkSurfacePresentScalingCapabilitiesEXT:
supportedPresentScaling:
None
supportedPresentGravityX:
None
supportedPresentGravityY:
None
minScaledImageExtent:
width = 256
height = 256
maxScaledImageExtent:
width = 256
height = 256
VkSurfacePresentModeCompatibilityEXT:
presentModeCount = 4
pPresentModes: count = 4
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
PRESENT_MODE_FIFO_KHR
Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 1.2.289 (4202785)
driverVersion = 24.2.6 (100671494)
vendorID = 0x8086
deviceID = 0x0162
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Intel(R) HD Graphics 4000 (IVB GT2)
pipelineCacheUUID = af7933e1-1779-0224-1b6b-a8370a0d4731
VkPhysicalDeviceLimits:
-----------------------
maxImageDimension1D = 16384
maxImageDimension2D = 8192
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 = 16
maxPerStageDescriptorUniformBuffers = 64
maxPerStageDescriptorStorageBuffers = 64
maxPerStageDescriptorSampledImages = 128
maxPerStageDescriptorStorageImages = 64
maxPerStageDescriptorInputAttachments = 64
maxPerStageResources = 231
maxDescriptorSetSamplers = 96
maxDescriptorSetUniformBuffers = 384
maxDescriptorSetUniformBuffersDynamic = 8
maxDescriptorSetStorageBuffers = 384
maxDescriptorSetStorageBuffersDynamic = 8
maxDescriptorSetSampledImages = 768
maxDescriptorSetStorageImages = 384
maxDescriptorSetInputAttachments = 256
maxVertexInputAttributes = 29
maxVertexInputBindings = 31
maxVertexInputAttributeOffset = 2047
maxVertexInputBindingStride = 2048
maxVertexOutputComponents = 128
maxTessellationGenerationLevel = 64
maxTessellationPatchSize = 32
maxTessellationControlPerVertexInputComponents = 128
maxTessellationControlPerVertexOutputComponents = 128
maxTessellationControlPerPatchOutputComponents = 128
maxTessellationControlTotalOutputComponents = 2048
maxTessellationEvaluationInputComponents = 128
maxTessellationEvaluationOutputComponents = 128
maxGeometryShaderInvocations = 32
maxGeometryInputComponents = 64
maxGeometryOutputComponents = 128
maxGeometryOutputVertices = 256
maxGeometryTotalOutputComponents = 1024
maxFragmentInputComponents = 116
maxFragmentOutputAttachments = 8
maxFragmentDualSrcAttachments = 1
maxFragmentCombinedOutputResources = 136
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 = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
framebufferDepthSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
framebufferStencilSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
framebufferNoAttachmentsSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
maxColorAttachments = 8
sampledImageColorSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
sampledImageIntegerSampleCounts: count = 1
SAMPLE_COUNT_1_BIT
sampledImageDepthSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
sampledImageStencilSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
storageImageSampleCounts: count = 1
SAMPLE_COUNT_1_BIT
maxSampleMaskWords = 1
timestampComputeAndGraphics = true
timestampPeriod = 80
maxClipDistances = 8
maxCullDistances = 8
maxCombinedClipAndCullDistances = 8
discreteQueuePriorities = 2
pointSizeRange: count = 2
0.125
255.875
lineWidthRange: count = 2
0
7.99219
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
VkPhysicalDeviceDepthStencilResolveProperties:
----------------------------------------------
supportedDepthResolveModes: count = 4
RESOLVE_MODE_SAMPLE_ZERO_BIT
RESOLVE_MODE_AVERAGE_BIT
RESOLVE_MODE_MIN_BIT
RESOLVE_MODE_MAX_BIT
supportedStencilResolveModes: count = 1
RESOLVE_MODE_SAMPLE_ZERO_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 24.2.6-arch1.1
conformanceVersion:
major = 0
minor = 0
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 = false
shaderDenormPreserveFloat32 = false
shaderDenormPreserveFloat64 = true
shaderDenormFlushToZeroFloat16 = false
shaderDenormFlushToZeroFloat32 = true
shaderDenormFlushToZeroFloat64 = true
shaderRoundingModeRTEFloat16 = true
shaderRoundingModeRTEFloat32 = true
shaderRoundingModeRTEFloat64 = true
shaderRoundingModeRTZFloat16 = true
shaderRoundingModeRTZFloat32 = true
shaderRoundingModeRTZFloat64 = true
VkPhysicalDeviceIDProperties:
-----------------------------
deviceUUID = 86806201-0900-0000-0002-000000000000
driverUUID = f4ae99b0-78b2-b32d-0d2e-bb25c36bced5
deviceNodeMask = 0
deviceLUIDValid = false
VkPhysicalDeviceInlineUniformBlockPropertiesEXT:
------------------------------------------------
maxInlineUniformBlockSize = 4096
maxPerStageDescriptorInlineUniformBlocks = 32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
maxDescriptorSetInlineUniformBlocks = 32
maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 32
VkPhysicalDeviceLineRasterizationPropertiesEXT:
-----------------------------------------------
lineSubPixelPrecisionBits = 4
VkPhysicalDeviceMaintenance3Properties:
---------------------------------------
maxPerSetDescriptors = 1024
maxMemoryAllocationSize = 0x80000000
VkPhysicalDeviceMaintenance4PropertiesKHR:
------------------------------------------
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 = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_8_BIT
maxSampleLocationGridSize:
width = 1
height = 1
sampleLocationCoordinateRange: count = 2
0
0.9375
sampleLocationSubPixelBits = 4
variableSampleLocations = true
VkPhysicalDeviceSamplerFilterMinmaxProperties:
----------------------------------------------
filterMinmaxSingleComponentFormats = false
filterMinmaxImageComponentMapping = false
VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR:
-----------------------------------------------------
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-2d42-4c41-4b45-330000000000
VkPhysicalDeviceSubgroupProperties:
-----------------------------------
subgroupSize = 32
supportedStages: count = 2
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
supportedOperations: count = 6
SUBGROUP_FEATURE_BASIC_BIT
SUBGROUP_FEATURE_VOTE_BIT
SUBGROUP_FEATURE_BALLOT_BIT
SUBGROUP_FEATURE_SHUFFLE_BIT
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
SUBGROUP_FEATURE_QUAD_BIT
quadOperationsInAllStages = false
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT:
-------------------------------------------------
minSubgroupSize = 8
maxSubgroupSize = 32
maxComputeWorkgroupSubgroups = 64
requiredSubgroupSizeStages: count = 1
SHADER_STAGE_COMPUTE_BIT
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT:
--------------------------------------------------
storageTexelBufferOffsetAlignmentBytes = 0x00000010
storageTexelBufferOffsetSingleTexelAlignment = true
uniformTexelBufferOffsetAlignmentBytes = 0x00000001
uniformTexelBufferOffsetSingleTexelAlignment = true
VkPhysicalDeviceTimelineSemaphoreProperties:
--------------------------------------------
maxTimelineSemaphoreValueDifference = 18446744073709551615
VkPhysicalDeviceTransformFeedbackPropertiesEXT:
-----------------------------------------------
maxTransformFeedbackStreams = 4
maxTransformFeedbackBuffers = 4
maxTransformFeedbackBufferSize = 0x100000000
maxTransformFeedbackStreamDataSize = 512
maxTransformFeedbackBufferDataSize = 512
maxTransformFeedbackBufferDataStride = 2048
transformFeedbackQueries = true
transformFeedbackStreamsLinesTriangles = false
transformFeedbackRasterizationStreamSelect = false
transformFeedbackDraw = false
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
maxVertexAttribDivisor = 268435455
VkPhysicalDeviceVulkan11Properties:
-----------------------------------
deviceUUID = 86806201-0900-0000-0002-000000000000
driverUUID = f4ae99b0-78b2-b32d-0d2e-bb25c36bced5
deviceNodeMask = 0
deviceLUIDValid = false
subgroupSize = 32
subgroupSupportedStages: count = 2
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
subgroupSupportedOperations: count = 6
SUBGROUP_FEATURE_BASIC_BIT
SUBGROUP_FEATURE_VOTE_BIT
SUBGROUP_FEATURE_BALLOT_BIT
SUBGROUP_FEATURE_SHUFFLE_BIT
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
SUBGROUP_FEATURE_QUAD_BIT
subgroupQuadOperationsInAllStages = false
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 24.2.6-arch1.1
conformanceVersion:
major = 0
minor = 0
subminor = 0
patch = 0
denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
shaderSignedZeroInfNanPreserveFloat16 = true
shaderSignedZeroInfNanPreserveFloat32 = true
shaderSignedZeroInfNanPreserveFloat64 = true
shaderDenormPreserveFloat16 = false
shaderDenormPreserveFloat32 = false
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 = 1
RESOLVE_MODE_SAMPLE_ZERO_BIT
independentResolveNone = true
independentResolve = true
filterMinmaxSingleComponentFormats = false
filterMinmaxImageComponentMapping = false
maxTimelineSemaphoreValueDifference = 18446744073709551615
framebufferIntegerColorSampleCounts: count = 1
SAMPLE_COUNT_1_BIT
VkPhysicalDeviceHostImageCopyPropertiesEXT:
-------------------------------------------
copySrcLayoutCount = 0
pCopySrcLayouts:
copyDstLayoutCount = 0
pCopyDstLayouts:
optimalTilingLayoutUUID = 00000000-0000-0000-0000-000000000000
identicalMemoryTypeRequirements = false
Device Extensions: count = 105
VK_EXT_4444_formats : extension revision 1
VK_EXT_calibrated_timestamps : extension revision 2
VK_EXT_color_write_enable : 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_display_control : extension revision 1
VK_EXT_extended_dynamic_state : extension revision 1
VK_EXT_extended_dynamic_state2 : extension revision 1
VK_EXT_external_memory_dma_buf : extension revision 1
VK_EXT_external_memory_host : extension revision 1
VK_EXT_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_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_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_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_module_identifier : extension revision 1
VK_EXT_shader_replicated_composites : extension revision 1
VK_EXT_shader_subgroup_ballot : extension revision 1
VK_EXT_shader_subgroup_vote : extension revision 1
VK_EXT_shader_viewport_index_layer : extension revision 1
VK_EXT_subgroup_size_control : extension revision 2
VK_EXT_texel_buffer_alignment : extension revision 1
VK_EXT_tooling_info : extension revision 1
VK_EXT_transform_feedback : extension revision 1
VK_EXT_vertex_attribute_divisor : extension revision 3
VK_EXT_ycbcr_image_arrays : extension revision 1
VK_GOOGLE_decorate_string : extension revision 1
VK_GOOGLE_hlsl_functionality1 : extension revision 1
VK_GOOGLE_user_type : extension revision 1
VK_KHR_bind_memory2 : 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_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_clock : extension revision 1
VK_KHR_shader_draw_parameters : extension revision 1
VK_KHR_shader_expect_assume : 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_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_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT
timestampValidBits = 36
present support = true
VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 1
memoryHeaps[0]:
size = 1610612736 (0x60000000) (1.50 GiB)
budget = 1610612736 (0x60000000) (1.50 GiB)
usage = 0 (0x00000000) (0.00 B)
flags: count = 1
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 2
memoryTypes[0]:
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
(non-sparse)
IMAGE_TILING_LINEAR:
color images
(non-sparse)
memoryTypes[1]:
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 = false
textureCompressionASTC_LDR = false
textureCompressionBC = true
occlusionQueryPrecise = true
pipelineStatisticsQuery = true
vertexPipelineStoresAndAtomics = false
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 = false
shaderInt64 = false
shaderInt16 = false
shaderResourceResidency = false
shaderResourceMinLod = false
sparseBinding = false
sparseResidencyBuffer = false
sparseResidencyImage2D = false
sparseResidencyImage3D = false
sparseResidency2Samples = false
sparseResidency4Samples = false
sparseResidency8Samples = false
sparseResidency16Samples = false
sparseResidencyAliased = false
variableMultisampleRate = true
inheritedQueries = true
VkPhysicalDevice16BitStorageFeatures:
-------------------------------------
storageBuffer16BitAccess = false
uniformAndStorageBuffer16BitAccess = false
storagePushConstant16 = false
storageInputOutput16 = false
VkPhysicalDevice4444FormatsFeaturesEXT:
---------------------------------------
formatA4R4G4B4 = true
formatA4B4G4R4 = false
VkPhysicalDevice8BitStorageFeatures:
------------------------------------
storageBuffer8BitAccess = false
uniformAndStorageBuffer8BitAccess = false
storagePushConstant8 = false
VkPhysicalDeviceBufferDeviceAddressFeatures:
--------------------------------------------
bufferDeviceAddress = false
bufferDeviceAddressCaptureReplay = false
bufferDeviceAddressMultiDevice = false
VkPhysicalDeviceColorWriteEnableFeaturesEXT:
--------------------------------------------
colorWriteEnable = true
VkPhysicalDeviceDepthClampZeroOneFeaturesEXT:
---------------------------------------------
depthClampZeroOne = true
VkPhysicalDeviceDepthClipControlFeaturesEXT:
--------------------------------------------
depthClipControl = true
VkPhysicalDeviceDepthClipEnableFeaturesEXT:
-------------------------------------------
depthClipEnable = true
VkPhysicalDeviceDescriptorIndexingFeatures:
-------------------------------------------
shaderInputAttachmentArrayDynamicIndexing = false
shaderUniformTexelBufferArrayDynamicIndexing = false
shaderStorageTexelBufferArrayDynamicIndexing = false
shaderUniformBufferArrayNonUniformIndexing = false
shaderSampledImageArrayNonUniformIndexing = false
shaderStorageBufferArrayNonUniformIndexing = false
shaderStorageImageArrayNonUniformIndexing = false
shaderInputAttachmentArrayNonUniformIndexing = false
shaderUniformTexelBufferArrayNonUniformIndexing = false
shaderStorageTexelBufferArrayNonUniformIndexing = false
descriptorBindingUniformBufferUpdateAfterBind = false
descriptorBindingSampledImageUpdateAfterBind = false
descriptorBindingStorageImageUpdateAfterBind = false
descriptorBindingStorageBufferUpdateAfterBind = false
descriptorBindingUniformTexelBufferUpdateAfterBind = false
descriptorBindingStorageTexelBufferUpdateAfterBind = false
descriptorBindingUpdateUnusedWhilePending = false
descriptorBindingPartiallyBound = false
descriptorBindingVariableDescriptorCount = false
runtimeDescriptorArray = false
VkPhysicalDeviceDynamicRenderingFeaturesKHR:
--------------------------------------------
dynamicRendering = true
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT:
-------------------------------------------------
extendedDynamicState2 = true
extendedDynamicState2LogicOp = true
extendedDynamicState2PatchControlPoints = false
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT:
------------------------------------------------
extendedDynamicState = true
VkPhysicalDeviceHostQueryResetFeatures:
---------------------------------------
hostQueryReset = true
VkPhysicalDeviceImage2DViewOf3DFeaturesEXT:
-------------------------------------------
image2DViewOf3D = true
sampler2DViewOf3D = false
VkPhysicalDeviceImageRobustnessFeaturesEXT:
-------------------------------------------
robustImageAccess = true
VkPhysicalDeviceImageViewMinLodFeaturesEXT:
-------------------------------------------
minLod = true
VkPhysicalDeviceImagelessFramebufferFeatures:
---------------------------------------------
imagelessFramebuffer = true
VkPhysicalDeviceIndexTypeUint8FeaturesEXT:
------------------------------------------
indexTypeUint8 = true
VkPhysicalDeviceInlineUniformBlockFeaturesEXT:
----------------------------------------------
inlineUniformBlock = true
descriptorBindingInlineUniformBlockUpdateAfterBind = true
VkPhysicalDeviceLineRasterizationFeaturesEXT:
---------------------------------------------
rectangularLines = false
bresenhamLines = true
smoothLines = true
stippledRectangularLines = false
stippledBresenhamLines = true
stippledSmoothLines = false
VkPhysicalDeviceMaintenance4FeaturesKHR:
----------------------------------------
maintenance4 = true
VkPhysicalDeviceMultiDrawFeaturesEXT:
-------------------------------------
multiDraw = true
VkPhysicalDeviceMultiviewFeatures:
----------------------------------
multiview = true
multiviewGeometryShader = true
multiviewTessellationShader = true
VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT:
-------------------------------------------------
mutableDescriptorType = true
VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT:
----------------------------------------------
nonSeamlessCubeMap = true
VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT:
--------------------------------------------------------
pipelineCreationCacheControl = true
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:
--------------------------------------------------------
pipelineExecutableInfo = true
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:
--------------------------------------------------------
primitiveTopologyListRestart = true
primitiveTopologyPatchListRestart = true
VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT:
----------------------------------------------------
primitivesGeneratedQuery = true
primitivesGeneratedQueryWithRasterizerDiscard = false
primitivesGeneratedQueryWithNonZeroStreams = false
VkPhysicalDevicePrivateDataFeaturesEXT:
---------------------------------------
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
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 = false
shaderSharedInt64Atomics = false
VkPhysicalDeviceShaderClockFeaturesKHR:
---------------------------------------
shaderSubgroupClock = true
shaderDeviceClock = false
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:
----------------------------------------------------------
shaderDemoteToHelperInvocation = true
VkPhysicalDeviceShaderDrawParametersFeatures:
---------------------------------------------
shaderDrawParameters = true
VkPhysicalDeviceShaderFloat16Int8Features:
------------------------------------------
shaderFloat16 = false
shaderInt8 = false
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR:
---------------------------------------------------
shaderIntegerDotProduct = true
VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT:
--------------------------------------------------
shaderModuleIdentifier = true
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:
----------------------------------------------------
shaderSubgroupExtendedTypes = true
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR:
------------------------------------------------------------
shaderSubgroupUniformControlFlow = true
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR:
-----------------------------------------------------
shaderTerminateInvocation = true
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT:
-----------------------------------------------
subgroupSizeControl = true
computeFullSubgroups = true
VkPhysicalDeviceSynchronization2FeaturesKHR:
--------------------------------------------
synchronization2 = true
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:
------------------------------------------------
texelBufferAlignment = true
VkPhysicalDeviceTimelineSemaphoreFeatures:
------------------------------------------
timelineSemaphore = true
VkPhysicalDeviceTransformFeedbackFeaturesEXT:
---------------------------------------------
transformFeedback = true
geometryStreams = true
VkPhysicalDeviceUniformBufferStandardLayoutFeatures:
----------------------------------------------------
uniformBufferStandardLayout = true
VkPhysicalDeviceVariablePointersFeatures:
-----------------------------------------
variablePointersStorageBuffer = true
variablePointers = true
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:
--------------------------------------------------
vertexAttributeInstanceRateDivisor = true
vertexAttributeInstanceRateZeroDivisor = true
VkPhysicalDeviceVulkan11Features:
---------------------------------
storageBuffer16BitAccess = false
uniformAndStorageBuffer16BitAccess = false
storagePushConstant16 = false
storageInputOutput16 = false
multiview = true
multiviewGeometryShader = true
multiviewTessellationShader = true
variablePointersStorageBuffer = true
variablePointers = true
protectedMemory = false
samplerYcbcrConversion = true
shaderDrawParameters = true
VkPhysicalDeviceVulkan12Features:
---------------------------------
samplerMirrorClampToEdge = true
drawIndirectCount = true
storageBuffer8BitAccess = false
uniformAndStorageBuffer8BitAccess = false
storagePushConstant8 = false
shaderBufferInt64Atomics = false
shaderSharedInt64Atomics = false
shaderFloat16 = false
shaderInt8 = false
descriptorIndexing = false
shaderInputAttachmentArrayDynamicIndexing = false
shaderUniformTexelBufferArrayDynamicIndexing = false
shaderStorageTexelBufferArrayDynamicIndexing = false
shaderUniformBufferArrayNonUniformIndexing = false
shaderSampledImageArrayNonUniformIndexing = false
shaderStorageBufferArrayNonUniformIndexing = false
shaderStorageImageArrayNonUniformIndexing = false
shaderInputAttachmentArrayNonUniformIndexing = false
shaderUniformTexelBufferArrayNonUniformIndexing = false
shaderStorageTexelBufferArrayNonUniformIndexing = false
descriptorBindingUniformBufferUpdateAfterBind = false
descriptorBindingSampledImageUpdateAfterBind = false
descriptorBindingStorageImageUpdateAfterBind = false
descriptorBindingStorageBufferUpdateAfterBind = false
descriptorBindingUniformTexelBufferUpdateAfterBind = false
descriptorBindingStorageTexelBufferUpdateAfterBind = false
descriptorBindingUpdateUnusedWhilePending = false
descriptorBindingPartiallyBound = false
descriptorBindingVariableDescriptorCount = false
runtimeDescriptorArray = false
samplerFilterMinmax = false
scalarBlockLayout = true
imagelessFramebuffer = true
uniformBufferStandardLayout = true
shaderSubgroupExtendedTypes = true
separateDepthStencilLayouts = true
hostQueryReset = true
timelineSemaphore = true
bufferDeviceAddress = false
bufferDeviceAddressCaptureReplay = false
bufferDeviceAddressMultiDevice = false
vulkanMemoryModel = true
vulkanMemoryModelDeviceScope = true
vulkanMemoryModelAvailabilityVisibilityChains = true
shaderOutputViewportIndex = true
shaderOutputLayer = true
subgroupBroadcastDynamicId = true
VkPhysicalDeviceVulkanMemoryModelFeatures:
------------------------------------------
vulkanMemoryModel = true
vulkanMemoryModelDeviceScope = true
vulkanMemoryModelAvailabilityVisibilityChains = true
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR:
---------------------------------------------------------
workgroupMemoryExplicitLayout = true
workgroupMemoryExplicitLayoutScalarBlockLayout = true
workgroupMemoryExplicitLayout8BitAccess = true
workgroupMemoryExplicitLayout16BitAccess = true
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:
--------------------------------------------
ycbcrImageArrays = true
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR:
---------------------------------------------------------
shaderZeroInitializeWorkgroupMemory = true
Thank you for trying that. Someone else had a similar issue previously (#1063) and got the same warnings, but it still worked for them using a llvmpipe software backend. Therefore, can you try installing mesa as described in the page linked below and see if it works? If it doesn't, please run eglinfo -B and go run cogentcore.org/core/gpu/cmd/webgpuinfo@main and send the output of both here.
https://wiki.archlinux.org/title/OpenGL
I just got it working, by installing vulkan-swrast aka lavapipe
go run github.com/cogentcore/webgpu/examples/triangle@main
since this is an outstanding documentation issue, I suggest someone else close it. My issue is resolved.
Great! I will update the documentation and install command accordingly and close the issue after that.