Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use vulkan on jetson Jetson Xavier NX could not convert error #6406

Closed
qtyandhasee opened this issue Mar 31, 2024 · 4 comments
Closed

use vulkan on jetson Jetson Xavier NX could not convert error #6406

qtyandhasee opened this issue Mar 31, 2024 · 4 comments

Comments

@qtyandhasee
Copy link

Please include information about your system, the steps to reproduce the bug, and the version of llama.cpp that you are using. If possible, please provide a minimal code example that reproduces the bug.

system :Linux 5.10.120-tegra #1 SMP PREEMPT Tue Aug 1 12:32:50 PDT 2023 aarch64 aarch64 aarch64 GNU/Linux
jetpack version:5.1.2

error:
[ 1%] Generating build details from Git
[ 2%] Building C object CMakeFiles/ggml.dir/ggml-alloc.c.o
[ 3%] Building CXX object common/CMakeFiles/json-schema-to-grammar.dir/json-schema-to-grammar.cpp.o
[ 3%] Building C object CMakeFiles/ggml.dir/ggml-backend.c.o
[ 4%] Building C object CMakeFiles/ggml.dir/ggml.c.o
[ 5%] Building C object CMakeFiles/ggml.dir/ggml-quants.c.o
-- Found Git: /usr/bin/git (found version "2.25.1")
[ 5%] Building CXX object CMakeFiles/ggml.dir/ggml-vulkan.cpp.o
[ 6%] Building CXX object common/CMakeFiles/build_info.dir/build-info.cpp.o
[ 6%] Built target build_info
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_create_pipeline(ggml_backend_vk_context*, vk_pipeline&, const string&, size_t, const void*, const string&, uint32_t, uint32_t, std::array<unsigned int, 3>, std::vector&&, uint32_t)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:431:81: error: could not convert ‘{dsl_binding_flags}’ from ‘’ to ‘vk::DescriptorSetLayoutBindingFlagsCreateInfo’
431 | vk::DescriptorSetLayoutBindingFlagsCreateInfo dslbfci = { dsl_binding_flags };
| ^
| |
|
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:441:20: error: no matching function for call to ‘vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(, std::vectorvk::DescriptorSetLayoutBinding&)’
441 | dsl_binding);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:27958:5: note: candidate: ‘vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(const VkDescriptorSetLayoutCreateInfo&)’
27958 | DescriptorSetLayoutCreateInfo( VkDescriptorSetLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27958:5: note: candidate expects 1 argument, 2 provided
/usr/include/vulkan/vulkan.hpp:27944:26: note: candidate: ‘constexpr vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(vk::DescriptorSetLayoutCreateFlags, uint32_t, const vk::DescriptorSetLayoutBinding*)’
27944 | VULKAN_HPP_CONSTEXPR DescriptorSetLayoutCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateFlags flags_ = {},
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27945:66: note: no known conversion for argument 2 from ‘std::vectorvk::DescriptorSetLayoutBinding’ to ‘uint32_t’ {aka ‘unsigned int’}
27945 | uint32_t bindingCount_ = {},
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27942:10: note: candidate: ‘constexpr vk::DescriptorSetLayoutCreateInfo::DescriptorSetLayoutCreateInfo(const vk::DescriptorSetLayoutCreateInfo&)’
27942 | struct DescriptorSetLayoutCreateInfo
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27942:10: note: candidate expects 1 argument, 2 provided
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:452:103: error: no matching function for call to ‘vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(, const uint32_t&, vk::DescriptorPoolSize&)’
452 | vk::DescriptorPoolCreateInfo descriptor_pool_create_info({}, alloc_count, descriptor_pool_size);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:27551:5: note: candidate: ‘vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo&)’
27551 | DescriptorPoolCreateInfo( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27551:5: note: candidate expects 1 argument, 3 provided
/usr/include/vulkan/vulkan.hpp:27535:26: note: candidate: ‘constexpr vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(vk::DescriptorPoolCreateFlags, uint32_t, uint32_t, const vk::DescriptorPoolSize*)’
27535 | VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_ = {},
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27537:61: note: no known conversion for argument 3 from ‘vk::DescriptorPoolSize’ to ‘uint32_t’ {aka ‘unsigned int’}
27537 | uint32_t poolSizeCount_ = {},
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27533:10: note: candidate: ‘constexpr vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const vk::DescriptorPoolCreateInfo&)’
27533 | struct DescriptorPoolCreateInfo
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27533:10: note: candidate expects 1 argument, 3 provided
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:471:95: error: no matching function for call to ‘vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(, int, vk::DescriptorPoolSize&)’
471 | vk::DescriptorPoolCreateInfo descriptor_pool_create_info({}, 128, descriptor_pool_size);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:27551:5: note: candidate: ‘vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo&)’
27551 | DescriptorPoolCreateInfo( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27551:5: note: candidate expects 1 argument, 3 provided
/usr/include/vulkan/vulkan.hpp:27535:26: note: candidate: ‘constexpr vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(vk::DescriptorPoolCreateFlags, uint32_t, uint32_t, const vk::DescriptorPoolSize*)’
27535 | VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_ = {},
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27537:61: note: no known conversion for argument 3 from ‘vk::DescriptorPoolSize’ to ‘uint32_t’ {aka ‘unsigned int’}
27537 | uint32_t poolSizeCount_ = {},
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27533:10: note: candidate: ‘constexpr vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const vk::DescriptorPoolCreateInfo&)’
27533 | struct DescriptorPoolCreateInfo
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27533:10: note: candidate expects 1 argument, 3 provided
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:477:113: error: no matching function for call to ‘vk::PipelineLayoutCreateInfo::PipelineLayoutCreateInfo(vk::PipelineLayoutCreateFlags, vk::DescriptorSetLayout&, vk::PushConstantRange&)’
477 | vk::PipelineLayoutCreateInfo pipeline_layout_create_info(vk::PipelineLayoutCreateFlags(), pipeline->dsl, pcr);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:52719:5: note: candidate: ‘vk::PipelineLayoutCreateInfo::PipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo&)’
52719 | PipelineLayoutCreateInfo( VkPipelineLayoutCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:52719:5: note: candidate expects 1 argument, 3 provided
/usr/include/vulkan/vulkan.hpp:52701:26: note: candidate: ‘constexpr vk::PipelineLayoutCreateInfo::PipelineLayoutCreateInfo(vk::PipelineLayoutCreateFlags, uint32_t, const vk::DescriptorSetLayout*, uint32_t, const vk::PushConstantRange*)’
52701 | VULKAN_HPP_CONSTEXPR PipelineLayoutCreateInfo( VULKAN_HPP_NAMESPACE::PipelineLayoutCreateFlags flags_ = {},
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:52703:101: note: no known conversion for argument 3 from ‘vk::PushConstantRange’ to ‘const vk::DescriptorSetLayout*’
52703 | const VULKAN_HPP_NAMESPACE::DescriptorSetLayout* pSetLayouts_ = {},
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:52699:10: note: candidate: ‘constexpr vk::PipelineLayoutCreateInfo::PipelineLayoutCreateInfo(const vk::PipelineLayoutCreateInfo&)’
52699 | struct PipelineLayoutCreateInfo
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:52699:10: note: candidate expects 1 argument, 3 provided
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:505:112: error: conversion from ‘int’ to ‘vk::PipelineCache’ is ambiguous
505 | pipeline->pipeline = ctx->device->device.createComputePipeline(VK_NULL_HANDLE, compute_pipeline_create_info).value;
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:15503:34: note: candidate: ‘vk::PipelineCache::PipelineCache(VkPipelineCache)’
15503 | VULKAN_HPP_TYPESAFE_EXPLICIT PipelineCache( VkPipelineCache pipelineCache ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:15499:26: note: candidate: ‘constexpr vk::PipelineCache::PipelineCache(std::nullptr_t)’
15499 | VULKAN_HPP_CONSTEXPR PipelineCache( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:63197:129: note: initializing argument 1 of ‘vk::ResultValueTypevk::Pipeline::type vk::Device::createComputePipeline(vk::PipelineCache, const vk::ComputePipelineCreateInfo&, vk::Optional, const Dispatch&) const [with Dispatch = vk::DispatchLoaderStatic; vk::ResultValueTypevk::Pipeline::type = vk::Pipeline]’
63197 | VULKAN_HPP_INLINE typename ResultValueType::type Device::createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, const ComputePipelineCreateInfo & createInfo, Optional allocator, Dispatch const &d ) const
| ^
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_pipeline_allocate_descriptor_sets(ggml_backend_vk_context*, vk_pipeline&, uint32_t)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:552:97: error: no matching function for call to ‘vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(, int, vk::DescriptorPoolSize&)’
552 | vk::DescriptorPoolCreateInfo descriptor_pool_create_info({}, 1, descriptor_pool_size);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:27551:5: note: candidate: ‘vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const VkDescriptorPoolCreateInfo&)’
27551 | DescriptorPoolCreateInfo( VkDescriptorPoolCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27551:5: note: candidate expects 1 argument, 3 provided
/usr/include/vulkan/vulkan.hpp:27535:26: note: candidate: ‘constexpr vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(vk::DescriptorPoolCreateFlags, uint32_t, uint32_t, const vk::DescriptorPoolSize*)’
27535 | VULKAN_HPP_CONSTEXPR DescriptorPoolCreateInfo( VULKAN_HPP_NAMESPACE::DescriptorPoolCreateFlags flags_ = {},
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27537:61: note: no known conversion for argument 3 from ‘vk::DescriptorPoolSize’ to ‘uint32_t’ {aka ‘unsigned int’}
27537 | uint32_t poolSizeCount_ = {},
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27533:10: note: candidate: ‘constexpr vk::DescriptorPoolCreateInfo::DescriptorPoolCreateInfo(const vk::DescriptorPoolCreateInfo&)’
27533 | struct DescriptorPoolCreateInfo
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:27533:10: note: candidate expects 1 argument, 3 provided
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_submit(vk_context*, vk::Fence)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:657:40: error: assignment of read-only member ‘vk::TimelineSemaphoreSubmitInfo::sType’
657 | tl_submit_infos[idx].sType = vk::StructureType::eTimelineSemaphoreSubmitInfo;
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_queue_cleanup(ggml_backend_vk_context*, vk_queue&)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:793:48: error: no matching function for call to ‘vk::Device::resetCommandPool(vk::CommandPool&)’
793 | ctx->device->device.resetCommandPool(q.pool);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:18160:42: note: candidate: ‘template vk::ResultValueType::type vk::Device::resetCommandPool(vk::CommandPool, vk::CommandPoolResetFlags, const Dispatch&) const’
18160 | typename ResultValueType::type resetCommandPool( VULKAN_HPP_NAMESPACE::CommandPool commandPool, VULKAN_HPP_NAMESPACE::CommandPoolResetFlags flags, Dispatch const &d = VULKAN_HPP_DEFAULT_DISPATCHER ) const;
| ^~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:18160:42: note: template argument deduction/substitution failed:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:793:48: note: candidate expects 3 arguments, 1 provided
793 | ctx->device->device.resetCommandPool(q.pool);
| ^
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_print_gpu_info(size_t)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1336:60: error: request for member ‘data’ in ‘props2.vk::PhysicalDeviceProperties2::properties.vk::PhysicalDeviceProperties::deviceName’, which is of non-class type ‘char [256]’
1336 | std::string device_name = props2.properties.deviceName.data();
| ^~~~
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_instance_init()’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1377:105: error: no matching function for call to ‘vk::InstanceCreateInfo::InstanceCreateInfo(vk::InstanceCreateFlags, vk::ApplicationInfo*, std::vector<const char*>&, std::vector<const char*>&)’
1377 | vk::InstanceCreateInfo instance_create_info(vk::InstanceCreateFlags{}, &app_info, layers, extensions);
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:38981:5: note: candidate: ‘vk::InstanceCreateInfo::InstanceCreateInfo(const VkInstanceCreateInfo&)’
38981 | InstanceCreateInfo( VkInstanceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:38981:5: note: candidate expects 1 argument, 4 provided
/usr/include/vulkan/vulkan.hpp:38961:26: note: candidate: ‘constexpr vk::InstanceCreateInfo::InstanceCreateInfo(vk::InstanceCreateFlags, const vk::ApplicationInfo*, uint32_t, const char* const*, uint32_t, const char* const*)’
38961 | VULKAN_HPP_CONSTEXPR InstanceCreateInfo( VULKAN_HPP_NAMESPACE::InstanceCreateFlags flags_ = {},
| ^~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:38963:55: note: no known conversion for argument 3 from ‘std::vector<const char*>’ to ‘uint32_t’ {aka ‘unsigned int’}
38963 | uint32_t enabledLayerCount_ = {},
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:38959:10: note: candidate: ‘constexpr vk::InstanceCreateInfo::InstanceCreateInfo(const vk::InstanceCreateInfo&)’
38959 | struct InstanceCreateInfo
| ^~~~~~~~~~~~~~~~~~
/usr/include/vulkan/vulkan.hpp:38959:10: note: candidate expects 1 argument, 4 provided
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1392:9: error: no match for ‘operator=’ (operand types are ‘vk::ValidationFeaturesEXT’ and ‘’)
1392 | };
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:60037:51: note: candidate: ‘vk::ValidationFeaturesEXT& vk::ValidationFeaturesEXT::operator=(const vk::ValidationFeaturesEXT&)’
60037 | VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT & operator=( VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
/usr/include/vulkan/vulkan.hpp:60037:114: note: no known conversion for argument 1 from ‘’ to ‘const vk::ValidationFeaturesEXT&’
60037 | VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT & operator=( VULKAN_HPP_NAMESPACE::ValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
| ^
/usr/include/vulkan/vulkan.hpp:60048:28: note: candidate: ‘vk::ValidationFeaturesEXT& vk::ValidationFeaturesEXT::operator=(const VkValidationFeaturesEXT&)’
60048 | ValidationFeaturesEXT& operator=( VkValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
/usr/include/vulkan/vulkan.hpp:60048:71: note: no known conversion for argument 1 from ‘’ to ‘const VkValidationFeaturesEXT&’
60048 | ValidationFeaturesEXT& operator=( VkValidationFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_init(ggml_backend_vk_context*, size_t)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1483:13: error: ‘PhysicalDeviceMaintenance4Properties’ is not a member of ‘vk’; did you mean ‘PhysicalDeviceMaintenance3Properties’?
1483 | vk::PhysicalDeviceMaintenance4Properties props4;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| PhysicalDeviceMaintenance3Properties
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1488:37: error: ‘props4’ was not declared in this scope; did you mean ‘props3’?
1488 | subgroup_props.pNext = &props4;
| ^~~~~~
| props3
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1498:96: error: ‘props4’ was not declared in this scope; did you mean ‘props3’?
1498 | ctx->device->max_memory_allocation_size = std::min(props3.maxMemoryAllocationSize, props4.maxBufferSize);
| ^~~~~~
| props3
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1578:64: error: request for member ‘data’ in ‘((std::__shared_ptr_access<vk_device, __gnu_cxx::_S_atomic, false, false>)(& ctx->ggml_backend_vk_context::device))->std::__shared_ptr_access<vk_device, __gnu_cxx::_S_atomic, false, false>::operator->()->vk_device::properties.vk::PhysicalDeviceProperties::deviceName’, which is of non-class type ‘char [256]’
1578 | ctx->device->name = ctx->device->properties.deviceName.data();
| ^~~~
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:1585:9: error: no match for ‘operator=’ (operand types are ‘vk::DeviceCreateInfo’ and ‘’)
1585 | };
| ^
In file included from /home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:7:
/usr/include/vulkan/vulkan.hpp:29146:46: note: candidate: ‘vk::DeviceCreateInfo& vk::DeviceCreateInfo::operator=(const vk::DeviceCreateInfo&)’
29146 | VULKAN_HPP_NAMESPACE::DeviceCreateInfo & operator=( VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
/usr/include/vulkan/vulkan.hpp:29146:104: note: no known conversion for argument 1 from ‘’ to ‘const vk::DeviceCreateInfo&’
29146 | VULKAN_HPP_NAMESPACE::DeviceCreateInfo & operator=( VULKAN_HPP_NAMESPACE::DeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^
/usr/include/vulkan/vulkan.hpp:29157:23: note: candidate: ‘vk::DeviceCreateInfo& vk::DeviceCreateInfo::operator=(const VkDeviceCreateInfo&)’
29157 | DeviceCreateInfo& operator=( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ^~~~~~~~
/usr/include/vulkan/vulkan.hpp:29157:61: note: no known conversion for argument 1 from ‘’ to ‘const VkDeviceCreateInfo&’
29157 | DeviceCreateInfo& operator=( VkDeviceCreateInfo const & rhs ) VULKAN_HPP_NOEXCEPT
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp: In function ‘void ggml_vk_get_device_description(int, char
, size_t)’:
/home/qianty/CodeSpace/llama/test/llama.cpp/ggml-vulkan.cpp:5098:68: error: request for member ‘data’ in ‘props.vk::PhysicalDeviceProperties::deviceName’, which is of non-class type ‘char [256]’
5098 | snprintf(description, description_size, "%s", props.deviceName.data());
| ^~~~
make[2]: *** [CMakeFiles/ggml.dir/build.make:132: CMakeFiles/ggml.dir/ggml-vulkan.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1054: CMakeFiles/ggml.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 6%] Built target json-schema-to-grammar
make: *** [Makefile:146: all] Error 2

@qtyandhasee
Copy link
Author

vulkaninfo
'DISPLAY' environment variable not set... skipping surface info
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

VULKANINFO

Vulkan Instance Version: 1.3.204

Instance Extensions: count = 19

    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_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 = 2

VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.2.73, layer version 1:
Layer Extensions: count = 0
Devices: count = 2
GPU id : 0 (NVIDIA Tegra Xavier (nvgpu))
Layer-Device Extensions: count = 0

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

VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.1.73, layer version 1:
Layer Extensions: count = 0
Devices: count = 2
GPU id : 0 (NVIDIA Tegra Xavier (nvgpu))
Layer-Device Extensions: count = 0

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

Presentable Surfaces:

Groups:

    No Device Groups Found

Device Properties and Extensions:

GPU0:
VkPhysicalDeviceProperties:

    apiVersion     = 4206804 (1.3.212)
    driverVersion  = 146866240 (0x8c10040)
    vendorID       = 0x10de
    deviceID       = 0xa5ba03d7
    deviceType     = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
    deviceName     = NVIDIA Tegra Xavier (nvgpu)

VkPhysicalDeviceLimits:

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

VkPhysicalDeviceSparseProperties:

    residencyStandard2DBlockShape            = true
    residencyStandard2DMultisampleBlockShape = true
    residencyStandard3DBlockShape            = true
    residencyAlignedMipSize                  = false
    residencyNonResidentStrict               = true

VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT:

    advancedBlendMaxColorAttachments      = 8
    advancedBlendIndependentBlend         = false
    advancedBlendNonPremultipliedSrcColor = true
    advancedBlendNonPremultipliedDstColor = true
    advancedBlendCorrelatedOverlap        = true
    advancedBlendAllOperations            = true

VkPhysicalDeviceConservativeRasterizationPropertiesEXT:

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

VkPhysicalDeviceDepthStencilResolveProperties:

    supportedDepthResolveModes:
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_AVERAGE_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes:
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    independentResolveNone = true
    independentResolve     = true

VkPhysicalDeviceDescriptorIndexingProperties:

    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = true
    shaderSampledImageArrayNonUniformIndexingNative      = true
    shaderStorageBufferArrayNonUniformIndexingNative     = true
    shaderStorageImageArrayNonUniformIndexingNative      = true
    shaderInputAttachmentArrayNonUniformIndexingNative   = true
    robustBufferAccessUpdateAfterBind                    = true
    quadDivergentImplicitLod                             = true
    maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 15
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 90
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
    maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
    maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576

VkPhysicalDeviceDiscardRectanglePropertiesEXT:

    maxDiscardRectangles = 8

VkPhysicalDeviceDriverProperties:

    driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName         = NVIDIA
    driverInfo         = 35.4.1
    conformanceVersion = 1.3.1.1

VkPhysicalDeviceExternalMemoryHostPropertiesEXT:

    minImportedHostPointerAlignment = 0x00001000

VkPhysicalDeviceFloatControlsProperties:

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

VkPhysicalDeviceIDProperties:

    deviceUUID      = 63144edc-2da2-5f61-b66b-afb9f063410d
    driverUUID      = 3720a1b3-c3cb-5ed3-8b36-d2d267ed4776
    deviceNodeMask  = 1
    deviceLUIDValid = false

VkPhysicalDeviceInlineUniformBlockPropertiesEXT:

    maxInlineUniformBlockSize                               = 256
    maxPerStageDescriptorInlineUniformBlocks                = 32
    maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
    maxDescriptorSetInlineUniformBlocks                     = 32
    maxDescriptorSetUpdateAfterBindInlineUniformBlocks      = 32

VkPhysicalDeviceLineRasterizationPropertiesEXT:

    lineSubPixelPrecisionBits = 8

VkPhysicalDeviceMaintenance3Properties:

    maxPerSetDescriptors    = 4294967295
    maxMemoryAllocationSize = 0xffe00000

VkPhysicalDeviceMultiviewProperties:

    maxMultiviewViewCount     = 32
    maxMultiviewInstanceIndex = 134217727

VkPhysicalDevicePointClippingProperties:

    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY

VkPhysicalDeviceProtectedMemoryProperties:

    protectedNoFault = false

VkPhysicalDevicePushDescriptorPropertiesKHR:

    maxPushDescriptors = 32

VkPhysicalDeviceSampleLocationsPropertiesEXT:

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

VkPhysicalDeviceSamplerFilterMinmaxProperties:

    filterMinmaxSingleComponentFormats = true
    filterMinmaxImageComponentMapping  = true

VkPhysicalDeviceSubgroupProperties:

    subgroupSize              = 32
    supportedStages:
            SHADER_STAGE_VERTEX_BIT
            SHADER_STAGE_TESSELLATION_CONTROL_BIT
            SHADER_STAGE_TESSELLATION_EVALUATION_BIT
            SHADER_STAGE_GEOMETRY_BIT
            SHADER_STAGE_FRAGMENT_BIT
            SHADER_STAGE_COMPUTE_BIT
            SHADER_STAGE_ALL_GRAPHICS
            SHADER_STAGE_ALL
    supportedOperations:
            SUBGROUP_FEATURE_BASIC_BIT
            SUBGROUP_FEATURE_VOTE_BIT
            SUBGROUP_FEATURE_ARITHMETIC_BIT
            SUBGROUP_FEATURE_BALLOT_BIT
            SUBGROUP_FEATURE_SHUFFLE_BIT
            SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
            SUBGROUP_FEATURE_CLUSTERED_BIT
            SUBGROUP_FEATURE_QUAD_BIT
            SUBGROUP_FEATURE_PARTITIONED_BIT_NV
    quadOperationsInAllStages = true

VkPhysicalDeviceSubgroupSizeControlPropertiesEXT:

    minSubgroupSize              = 32
    maxSubgroupSize              = 32
    maxComputeWorkgroupSubgroups = 3145728
    requiredSubgroupSizeStages:
            SHADER_STAGE_VERTEX_BIT
            SHADER_STAGE_TESSELLATION_CONTROL_BIT
            SHADER_STAGE_TESSELLATION_EVALUATION_BIT
            SHADER_STAGE_GEOMETRY_BIT
            SHADER_STAGE_FRAGMENT_BIT
            SHADER_STAGE_COMPUTE_BIT
            SHADER_STAGE_ALL_GRAPHICS
            SHADER_STAGE_ALL

VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT:

    storageTexelBufferOffsetAlignmentBytes       = 0x00000010
    storageTexelBufferOffsetSingleTexelAlignment = true
    uniformTexelBufferOffsetAlignmentBytes       = 0x00000010
    uniformTexelBufferOffsetSingleTexelAlignment = true

VkPhysicalDeviceTimelineSemaphoreProperties:

    maxTimelineSemaphoreValueDifference = 18446744073709551615

VkPhysicalDeviceTransformFeedbackPropertiesEXT:

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

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:

    maxVertexAttribDivisor = 4294967295

VkPhysicalDeviceVulkan11Properties:

    deviceUUID                        = 63144edc-2da2-5f61-b66b-afb9f063410d
    driverUUID                        = 3720a1b3-c3cb-5ed3-8b36-d2d267ed4776
    deviceNodeMask                    = 1
    deviceLUIDValid                   = false
    subgroupSize                      = 32
    subgroupSupportedStages:
            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:
            SUBGROUP_FEATURE_BASIC_BIT
            SUBGROUP_FEATURE_VOTE_BIT
            SUBGROUP_FEATURE_ARITHMETIC_BIT
            SUBGROUP_FEATURE_BALLOT_BIT
            SUBGROUP_FEATURE_SHUFFLE_BIT
            SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
            SUBGROUP_FEATURE_CLUSTERED_BIT
            SUBGROUP_FEATURE_QUAD_BIT
            SUBGROUP_FEATURE_PARTITIONED_BIT_NV
    subgroupQuadOperationsInAllStages = true
    pointClippingBehavior             = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
    maxMultiviewViewCount             = 32
    maxMultiviewInstanceIndex         = 134217727
    protectedNoFault                  = false
    maxPerSetDescriptors              = 4294967295
    maxMemoryAllocationSize           = 0xffe00000

VkPhysicalDeviceVulkan12Properties:

    driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName                                           = NVIDIA
    driverInfo                                           = 35.4.1
    conformanceVersion                                   = 1.3.1.1
    denormBehaviorIndependence                           = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    roundingModeIndependence                             = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
    shaderSignedZeroInfNanPreserveFloat16                = true
    shaderSignedZeroInfNanPreserveFloat32                = true
    shaderSignedZeroInfNanPreserveFloat64                = true
    shaderDenormPreserveFloat16                          = true
    shaderDenormPreserveFloat32                          = false
    shaderDenormPreserveFloat64                          = false
    shaderDenormFlushToZeroFloat16                       = false
    shaderDenormFlushToZeroFloat32                       = false
    shaderDenormFlushToZeroFloat64                       = false
    shaderRoundingModeRTEFloat16                         = true
    shaderRoundingModeRTEFloat32                         = true
    shaderRoundingModeRTEFloat64                         = true
    shaderRoundingModeRTZFloat16                         = false
    shaderRoundingModeRTZFloat32                         = true
    shaderRoundingModeRTZFloat64                         = true
    maxUpdateAfterBindDescriptorsInAllPools              = 4294967295
    shaderUniformBufferArrayNonUniformIndexingNative     = true
    shaderSampledImageArrayNonUniformIndexingNative      = true
    shaderStorageBufferArrayNonUniformIndexingNative     = true
    shaderStorageImageArrayNonUniformIndexingNative      = true
    shaderInputAttachmentArrayNonUniformIndexingNative   = true
    robustBufferAccessUpdateAfterBind                    = true
    quadDivergentImplicitLod                             = true
    maxPerStageDescriptorUpdateAfterBindSamplers         = 1048576
    maxPerStageDescriptorUpdateAfterBindUniformBuffers   = 15
    maxPerStageDescriptorUpdateAfterBindStorageBuffers   = 1048576
    maxPerStageDescriptorUpdateAfterBindSampledImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindStorageImages    = 1048576
    maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576
    maxPerStageUpdateAfterBindResources                  = 4294967295
    maxDescriptorSetUpdateAfterBindSamplers              = 1048576
    maxDescriptorSetUpdateAfterBindUniformBuffers        = 90
    maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15
    maxDescriptorSetUpdateAfterBindStorageBuffers        = 1048576
    maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16
    maxDescriptorSetUpdateAfterBindSampledImages         = 1048576
    maxDescriptorSetUpdateAfterBindStorageImages         = 1048576
    maxDescriptorSetUpdateAfterBindInputAttachments      = 1048576
    supportedDepthResolveModes:
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_AVERAGE_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    supportedStencilResolveModes:
            RESOLVE_MODE_SAMPLE_ZERO_BIT
            RESOLVE_MODE_MIN_BIT
            RESOLVE_MODE_MAX_BIT
    independentResolveNone                               = true
    independentResolve                                   = true
    filterMinmaxSingleComponentFormats                   = true
    filterMinmaxImageComponentMapping                    = true
    maxTimelineSemaphoreValueDifference                  = 18446744073709551615
    framebufferIntegerColorSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_2_BIT
            SAMPLE_COUNT_4_BIT
            SAMPLE_COUNT_8_BIT

Device Extensions: count = 142
VK_EXT_4444_formats : extension revision 1
VK_EXT_blend_operation_advanced : extension revision 2
VK_EXT_border_color_swizzle : extension revision 1
VK_EXT_buffer_device_address : extension revision 2
VK_EXT_calibrated_timestamps : extension revision 2
VK_EXT_color_write_enable : extension revision 1
VK_EXT_conditional_rendering : extension revision 2
VK_EXT_conservative_rasterization : extension revision 1
VK_EXT_custom_border_color : extension revision 12
VK_EXT_depth_clip_control : extension revision 1
VK_EXT_depth_clip_enable : extension revision 1
VK_EXT_depth_range_unrestricted : extension revision 1
VK_EXT_descriptor_indexing : extension revision 2
VK_EXT_discard_rectangles : extension revision 1
VK_EXT_display_control : extension revision 1
VK_EXT_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_fragment_shader_interlock : extension revision 1
VK_EXT_global_priority : extension revision 2
VK_EXT_global_priority_query : extension revision 1
VK_EXT_graphics_pipeline_library : extension revision 1
VK_EXT_host_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_load_store_op_none : extension revision 1
VK_EXT_memory_budget : extension revision 1
VK_EXT_multi_draw : extension revision 1
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_demote_to_helper_invocation : extension revision 1
VK_EXT_shader_image_atomic_int64 : 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_vertex_input_dynamic_state : extension revision 2
VK_EXT_ycbcr_2plane_444_formats : extension revision 1
VK_EXT_ycbcr_image_arrays : extension revision 1
VK_KHR_16bit_storage : extension revision 1
VK_KHR_8bit_storage : extension revision 1
VK_KHR_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_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 1
VK_KHR_get_memory_requirements2 : extension revision 1
VK_KHR_global_priority : extension revision 1
VK_KHR_image_format_list : extension revision 1
VK_KHR_imageless_framebuffer : extension revision 1
VK_KHR_maintenance1 : extension revision 2
VK_KHR_maintenance2 : extension revision 1
VK_KHR_maintenance3 : extension revision 1
VK_KHR_maintenance4 : extension revision 2
VK_KHR_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_shared_presentable_image : extension revision 1
VK_KHR_spirv_1_4 : extension revision 1
VK_KHR_storage_buffer_storage_class : extension revision 1
VK_KHR_swapchain : extension revision 70
VK_KHR_swapchain_mutable_format : extension revision 1
VK_KHR_synchronization2 : extension revision 1
VK_KHR_timeline_semaphore : extension revision 2
VK_KHR_uniform_buffer_standard_layout : extension revision 1
VK_KHR_variable_pointers : extension revision 1
VK_KHR_vulkan_memory_model : extension revision 3
VK_KHR_workgroup_memory_explicit_layout : extension revision 1
VK_KHR_zero_initialize_workgroup_memory : extension revision 1
VK_NVX_binary_import : extension revision 1
VK_NVX_image_view_handle : extension revision 2
VK_NVX_multiview_per_view_attributes : extension revision 1
VK_NV_clip_space_w_scaling : extension revision 1
VK_NV_coverage_reduction_mode : extension revision 1
VK_NV_cuda_kernel_launch : extension revision 2
VK_NV_dedicated_allocation : extension revision 1
VK_NV_dedicated_allocation_image_aliasing : extension revision 1
VK_NV_device_diagnostic_checkpoints : extension revision 2
VK_NV_device_diagnostics_config : extension revision 1
VK_NV_device_generated_commands : extension revision 3
VK_NV_fill_rectangle : extension revision 1
VK_NV_fragment_coverage_to_color : extension revision 1
VK_NV_framebuffer_mixed_samples : extension revision 1
VK_NV_geometry_shader_passthrough : extension revision 1
VK_NV_inherited_viewport_scissor : extension revision 1
VK_NV_linear_color_attachment : extension revision 1
VK_NV_sample_mask_override_coverage : extension revision 1
VK_NV_shader_sm_builtins : extension revision 1
VK_NV_shader_subgroup_partitioned : extension revision 1
VK_NV_viewport_array2 : extension revision 1
VK_NV_viewport_swizzle : extension revision 1

VkQueueFamilyProperties:

    queueProperties[0]:
    ------------------
            minImageTransferGranularity = (1,1,1)
            queueCount                  = 16
            queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING | QUEUE_PROTECTED
            timestampValidBits          = 64
            present support = false

    queueProperties[1]:
    ------------------
            minImageTransferGranularity = (1,1,1)
            queueCount                  = 1
            queueFlags                  = QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
            timestampValidBits          = 64
            present support = false

    queueProperties[2]:
    ------------------
            minImageTransferGranularity = (1,1,1)
            queueCount                  = 8
            queueFlags                  = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING
            timestampValidBits          = 64
            present support = false

VkPhysicalDeviceMemoryProperties:

memoryHeaps: count = 2
memoryHeaps[0]:
size = 7187120128 (0x1ac62c000) (6.69 GiB)
budget = 350285824
usage = 0
flags:
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryHeaps[1]:
size = 704643072 (0x2a000000) (672.00 MiB)
budget = 704643072
usage = 0
flags:
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 4
memoryTypes[0]:
heapIndex = 0
propertyFlags = 0x0001:
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
usable for:
IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_X8_D24_UNORM_PACK32, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D24_UNORM_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT
IMAGE_TILING_LINEAR: None
memoryTypes[1]:
heapIndex = 0
propertyFlags = 0x0007:
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
usable for:
IMAGE_TILING_OPTIMAL: None
IMAGE_TILING_LINEAR: None
memoryTypes[2]:
heapIndex = 0
propertyFlags = 0x000f:
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: None
IMAGE_TILING_LINEAR: None
memoryTypes[3]:
heapIndex = 1
propertyFlags = 0x0021:
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_PROTECTED_BIT
usable for:
IMAGE_TILING_OPTIMAL: None
IMAGE_TILING_LINEAR: None

VkPhysicalDeviceFeatures:

    robustBufferAccess                      = true
    fullDrawIndexUint32                     = true
    imageCubeArray                          = true
    independentBlend                        = true
    geometryShader                          = true
    tessellationShader                      = true
    sampleRateShading                       = true
    dualSrcBlend                            = true
    logicOp                                 = true
    multiDrawIndirect                       = true
    drawIndirectFirstInstance               = true
    depthClamp                              = true
    depthBiasClamp                          = true
    fillModeNonSolid                        = true
    depthBounds                             = true
    wideLines                               = true
    largePoints                             = true
    alphaToOne                              = true
    multiViewport                           = true
    samplerAnisotropy                       = true
    textureCompressionETC2                  = true
    textureCompressionASTC_LDR              = true
    textureCompressionBC                    = true
    occlusionQueryPrecise                   = true
    pipelineStatisticsQuery                 = true
    vertexPipelineStoresAndAtomics          = true
    fragmentStoresAndAtomics                = true
    shaderTessellationAndGeometryPointSize  = true
    shaderImageGatherExtended               = true
    shaderStorageImageExtendedFormats       = true
    shaderStorageImageMultisample           = true
    shaderStorageImageReadWithoutFormat     = true
    shaderStorageImageWriteWithoutFormat    = true
    shaderUniformBufferArrayDynamicIndexing = true
    shaderSampledImageArrayDynamicIndexing  = true
    shaderStorageBufferArrayDynamicIndexing = true
    shaderStorageImageArrayDynamicIndexing  = true
    shaderClipDistance                      = true
    shaderCullDistance                      = true
    shaderFloat64                           = true
    shaderInt64                             = true
    shaderInt16                             = true
    shaderResourceResidency                 = true
    shaderResourceMinLod                    = true
    sparseBinding                           = true
    sparseResidencyBuffer                   = true
    sparseResidencyImage2D                  = true
    sparseResidencyImage3D                  = true
    sparseResidency2Samples                 = true
    sparseResidency4Samples                 = true
    sparseResidency8Samples                 = true
    sparseResidency16Samples                = true
    sparseResidencyAliased                  = true
    variableMultisampleRate                 = true
    inheritedQueries                        = true

VkPhysicalDevice16BitStorageFeatures:

    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false

VkPhysicalDevice8BitStorageFeatures:

    storageBuffer8BitAccess           = true
    uniformAndStorageBuffer8BitAccess = true
    storagePushConstant8              = true

VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT:

    advancedBlendCoherentOperations = true

VkPhysicalDeviceBufferDeviceAddressFeatures:

    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = true

VkPhysicalDeviceBufferDeviceAddressFeaturesEXT:

    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = true

VkPhysicalDeviceConditionalRenderingFeaturesEXT:

    conditionalRendering          = true
    inheritedConditionalRendering = true

VkPhysicalDeviceDepthClipEnableFeaturesEXT:

    depthClipEnable = true

VkPhysicalDeviceDescriptorIndexingFeatures:

    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = false
    descriptorBindingSampledImageUpdateAfterBind       = true
    descriptorBindingStorageImageUpdateAfterBind       = true
    descriptorBindingStorageBufferUpdateAfterBind      = true
    descriptorBindingUniformTexelBufferUpdateAfterBind = true
    descriptorBindingStorageTexelBufferUpdateAfterBind = true
    descriptorBindingUpdateUnusedWhilePending          = true
    descriptorBindingPartiallyBound                    = true
    descriptorBindingVariableDescriptorCount           = true
    runtimeDescriptorArray                             = true

VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT:

    fragmentShaderSampleInterlock      = true
    fragmentShaderPixelInterlock       = true
    fragmentShaderShadingRateInterlock = true

VkPhysicalDeviceHostQueryResetFeatures:

    hostQueryReset = true

VkPhysicalDeviceImagelessFramebufferFeatures:

    imagelessFramebuffer = true

VkPhysicalDeviceIndexTypeUint8FeaturesEXT:

    indexTypeUint8 = true

VkPhysicalDeviceInlineUniformBlockFeaturesEXT:

    inlineUniformBlock                                 = true
    descriptorBindingInlineUniformBlockUpdateAfterBind = true

VkPhysicalDeviceLineRasterizationFeaturesEXT:

    rectangularLines         = true
    bresenhamLines           = true
    smoothLines              = true
    stippledRectangularLines = true
    stippledBresenhamLines   = true
    stippledSmoothLines      = true

VkPhysicalDeviceMultiviewFeatures:

    multiview                   = true
    multiviewGeometryShader     = true
    multiviewTessellationShader = true

VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR:

    pipelineExecutableInfo = true

VkPhysicalDeviceProtectedMemoryFeatures:

    protectedMemory = true

VkPhysicalDeviceSamplerYcbcrConversionFeatures:

    samplerYcbcrConversion = true

VkPhysicalDeviceScalarBlockLayoutFeatures:

    scalarBlockLayout = true

VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures:

    separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicInt64Features:

    shaderBufferInt64Atomics = true
    shaderSharedInt64Atomics = true

VkPhysicalDeviceShaderClockFeaturesKHR:

    shaderSubgroupClock = true
    shaderDeviceClock   = true

VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT:

    shaderDemoteToHelperInvocation = true

VkPhysicalDeviceShaderDrawParametersFeatures:

    shaderDrawParameters = true

VkPhysicalDeviceShaderFloat16Int8Features:

    shaderFloat16 = true
    shaderInt8    = true

VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures:

    shaderSubgroupExtendedTypes = true

VkPhysicalDeviceSubgroupSizeControlFeaturesEXT:

    subgroupSizeControl  = true
    computeFullSubgroups = 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           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false
    multiview                          = true
    multiviewGeometryShader            = true
    multiviewTessellationShader        = true
    variablePointersStorageBuffer      = true
    variablePointers                   = true
    protectedMemory                    = true
    samplerYcbcrConversion             = true
    shaderDrawParameters               = true

VkPhysicalDeviceVulkan12Features:

    samplerMirrorClampToEdge                           = true
    drawIndirectCount                                  = true
    storageBuffer8BitAccess                            = true
    uniformAndStorageBuffer8BitAccess                  = true
    storagePushConstant8                               = true
    shaderBufferInt64Atomics                           = true
    shaderSharedInt64Atomics                           = true
    shaderFloat16                                      = true
    shaderInt8                                         = true
    descriptorIndexing                                 = true
    shaderInputAttachmentArrayDynamicIndexing          = true
    shaderUniformTexelBufferArrayDynamicIndexing       = true
    shaderStorageTexelBufferArrayDynamicIndexing       = true
    shaderUniformBufferArrayNonUniformIndexing         = true
    shaderSampledImageArrayNonUniformIndexing          = true
    shaderStorageBufferArrayNonUniformIndexing         = true
    shaderStorageImageArrayNonUniformIndexing          = true
    shaderInputAttachmentArrayNonUniformIndexing       = true
    shaderUniformTexelBufferArrayNonUniformIndexing    = true
    shaderStorageTexelBufferArrayNonUniformIndexing    = true
    descriptorBindingUniformBufferUpdateAfterBind      = false
    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                   = false
    bufferDeviceAddressMultiDevice                     = true
    vulkanMemoryModel                                  = true
    vulkanMemoryModelDeviceScope                       = true
    vulkanMemoryModelAvailabilityVisibilityChains      = true
    shaderOutputViewportIndex                          = true
    shaderOutputLayer                                  = true
    subgroupBroadcastDynamicId                         = true

VkPhysicalDeviceVulkanMemoryModelFeatures:

    vulkanMemoryModel                             = true
    vulkanMemoryModelDeviceScope                  = true
    vulkanMemoryModelAvailabilityVisibilityChains = true

VkPhysicalDeviceYcbcrImageArraysFeaturesEXT:

    ycbcrImageArrays = true

GPU1:
VkPhysicalDeviceProperties:

    apiVersion     = 4198582 (1.1.182)
    driverVersion  = 1 (0x0001)
    vendorID       = 0x10005
    deviceID       = 0x0000
    deviceType     = PHYSICAL_DEVICE_TYPE_CPU
    deviceName     = llvmpipe (LLVM 12.0.0, 128 bits)

VkPhysicalDeviceLimits:

    maxImageDimension1D                             = 16384
    maxImageDimension2D                             = 16384
    maxImageDimension3D                             = 4096
    maxImageDimensionCube                           = 32768
    maxImageArrayLayers                             = 2048
    maxTexelBufferElements                          = 134217728
    maxUniformBufferRange                           = 65536
    maxStorageBufferRange                           = 134217728
    maxPushConstantsSize                            = 128
    maxMemoryAllocationCount                        = 4294967295
    maxSamplerAllocationCount                       = 32768
    bufferImageGranularity                          = 0x00000040
    sparseAddressSpaceSize                          = 0x00000000
    maxBoundDescriptorSets                          = 8
    maxPerStageDescriptorSamplers                   = 32
    maxPerStageDescriptorUniformBuffers             = 15
    maxPerStageDescriptorStorageBuffers             = 16
    maxPerStageDescriptorSampledImages              = 128
    maxPerStageDescriptorStorageImages              = 16
    maxPerStageDescriptorInputAttachments           = 8
    maxPerStageResources                            = 128
    maxDescriptorSetSamplers                        = 32768
    maxDescriptorSetUniformBuffers                  = 256
    maxDescriptorSetUniformBuffersDynamic           = 256
    maxDescriptorSetStorageBuffers                  = 256
    maxDescriptorSetStorageBuffersDynamic           = 256
    maxDescriptorSetSampledImages                   = 256
    maxDescriptorSetStorageImages                   = 256
    maxDescriptorSetInputAttachments                = 256
    maxVertexInputAttributes                        = 32
    maxVertexInputBindings                          = 32
    maxVertexInputAttributeOffset                   = 2047
    maxVertexInputBindingStride                     = 2048
    maxVertexOutputComponents                       = 128
    maxTessellationGenerationLevel                  = 64
    maxTessellationPatchSize                        = 32
    maxTessellationControlPerVertexInputComponents  = 128
    maxTessellationControlPerVertexOutputComponents = 128
    maxTessellationControlPerPatchOutputComponents  = 128
    maxTessellationControlTotalOutputComponents     = 4096
    maxTessellationEvaluationInputComponents        = 128
    maxTessellationEvaluationOutputComponents       = 128
    maxGeometryShaderInvocations                    = 32
    maxGeometryInputComponents                      = 64
    maxGeometryOutputComponents                     = 128
    maxGeometryOutputVertices                       = 1024
    maxGeometryTotalOutputComponents                = 1024
    maxFragmentInputComponents                      = 128
    maxFragmentOutputAttachments                    = 8
    maxFragmentDualSrcAttachments                   = 2
    maxFragmentCombinedOutputResources              = 8
    maxComputeSharedMemorySize                      = 32768
    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
            32768
    viewportSubPixelBits                            = 0
    minMemoryMapAlignment                           = 64
    minTexelBufferOffsetAlignment                   = 0x00000010
    minUniformBufferOffsetAlignment                 = 0x00000010
    minStorageBufferOffsetAlignment                 = 0x00000010
    minTexelOffset                                  = -32
    maxTexelOffset                                  = 31
    minTexelGatherOffset                            = -32
    maxTexelGatherOffset                            = 31
    minInterpolationOffset                          = -2
    maxInterpolationOffset                          = 2
    subPixelInterpolationOffsetBits                 = 8
    maxFramebufferWidth                             = 16384
    maxFramebufferHeight                            = 16384
    maxFramebufferLayers                            = 2048
    framebufferColorSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    framebufferDepthSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    framebufferStencilSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    framebufferNoAttachmentsSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    maxColorAttachments                             = 8
    sampledImageColorSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    sampledImageIntegerSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    sampledImageDepthSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    sampledImageStencilSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    storageImageSampleCounts:
            SAMPLE_COUNT_1_BIT
            SAMPLE_COUNT_4_BIT
    maxSampleMaskWords                              = 1
    timestampComputeAndGraphics                     = true
    timestampPeriod                                 = 1
    maxClipDistances                                = 8
    maxCullDistances                                = 8
    maxCombinedClipAndCullDistances                 = 8
    discreteQueuePriorities                         = 2
    pointSizeRange: count = 2
            0
            255
    lineWidthRange: count = 2
            1
            255
    pointSizeGranularity                            = 0.125
    lineWidthGranularity                            = 0.0078125
    strictLines                                     = true
    standardSampleLocations                         = true
    optimalBufferCopyOffsetAlignment                = 0x00000080
    optimalBufferCopyRowPitchAlignment              = 0x00000080
    nonCoherentAtomSize                             = 0x00000040

VkPhysicalDeviceSparseProperties:

    residencyStandard2DBlockShape            = false
    residencyStandard2DMultisampleBlockShape = false
    residencyStandard3DBlockShape            = false
    residencyAlignedMipSize                  = false
    residencyNonResidentStrict               = false

VkPhysicalDeviceDriverPropertiesKHR:

    driverID           = UNKNOWN_VkDriverId
    driverName         = llvmpipe
    driverInfo         = Mesa 21.2.6 (LLVM 12.0.0)
    conformanceVersion = 1.0.0.0

VkPhysicalDeviceIDProperties:

    deviceUUID      = 00000000-0000-0000-0000-000000000000
    driverUUID      = 00000000-0000-0000-0000-000000000000
    deviceNodeMask  = 0
    deviceLUIDValid = false

VkPhysicalDeviceLineRasterizationPropertiesEXT:

    lineSubPixelPrecisionBits = 8

VkPhysicalDeviceMaintenance3Properties:

    maxPerSetDescriptors    = 1024
    maxMemoryAllocationSize = 0x80000000

VkPhysicalDeviceMultiviewProperties:

    maxMultiviewViewCount     = 6
    maxMultiviewInstanceIndex = 2147483647

VkPhysicalDevicePointClippingProperties:

    pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES

VkPhysicalDeviceProtectedMemoryProperties:

    protectedNoFault = false

VkPhysicalDevicePushDescriptorPropertiesKHR:

    maxPushDescriptors = 32

VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT:

    filterMinmaxSingleComponentFormats = true
    filterMinmaxImageComponentMapping  = true

VkPhysicalDeviceSubgroupProperties:

    subgroupSize              = 4
    supportedStages:
            SHADER_STAGE_FRAGMENT_BIT
            SHADER_STAGE_COMPUTE_BIT
            SHADER_STAGE_ALL_GRAPHICS
            SHADER_STAGE_ALL
    supportedOperations:
            SUBGROUP_FEATURE_BASIC_BIT
            SUBGROUP_FEATURE_VOTE_BIT
            SUBGROUP_FEATURE_ARITHMETIC_BIT
            SUBGROUP_FEATURE_BALLOT_BIT
    quadOperationsInAllStages = false

VkPhysicalDeviceTransformFeedbackPropertiesEXT:

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

VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:

    maxVertexAttribDivisor = 4294967295

Device Extensions: count = 54

    VK_EXT_calibrated_timestamps          : extension revision 2
    VK_EXT_conditional_rendering          : extension revision 2
    VK_EXT_custom_border_color            : extension revision 12
    VK_EXT_extended_dynamic_state         : extension revision 1
    VK_EXT_extended_dynamic_state2        : extension revision 1
    VK_EXT_host_query_reset               : extension revision 1
    VK_EXT_index_type_uint8               : extension revision 1
    VK_EXT_line_rasterization             : extension revision 1
    VK_EXT_multi_draw                     : extension revision 1
    VK_EXT_post_depth_coverage            : extension revision 1
    VK_EXT_private_data                   : extension revision 1
    VK_EXT_provoking_vertex               : 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_stencil_export          : extension revision 1
    VK_EXT_shader_viewport_index_layer    : extension revision 1
    VK_EXT_transform_feedback             : extension revision 1
    VK_EXT_vertex_attribute_divisor       : extension revision 3
    VK_EXT_vertex_input_dynamic_state     : extension revision 2
    VK_GOOGLE_decorate_string             : extension revision 1
    VK_GOOGLE_hlsl_functionality1         : 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_descriptor_update_template     : extension revision 1
    VK_KHR_device_group                   : extension revision 4
    VK_KHR_draw_indirect_count            : extension revision 1
    VK_KHR_driver_properties              : extension revision 1
    VK_KHR_external_fence                 : extension revision 1
    VK_KHR_external_memory                : extension revision 1
    VK_KHR_external_semaphore             : extension revision 1
    VK_KHR_get_memory_requirements2       : extension revision 1
    VK_KHR_image_format_list              : extension revision 1
    VK_KHR_imageless_framebuffer          : extension revision 1
    VK_KHR_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_multiview                      : 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_separate_depth_stencil_layouts : extension revision 1
    VK_KHR_shader_atomic_int64            : extension revision 1
    VK_KHR_shader_draw_parameters         : extension revision 1
    VK_KHR_storage_buffer_storage_class   : extension revision 1
    VK_KHR_swapchain                      : extension revision 70
    VK_KHR_uniform_buffer_standard_layout : extension revision 1
    VK_KHR_variable_pointers              : extension revision 1

VkQueueFamilyProperties:

    queueProperties[0]:
    ------------------
            minImageTransferGranularity = (1,1,1)
            queueCount                  = 1
            queueFlags                  = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER
            timestampValidBits          = 64
            present support = false

VkPhysicalDeviceMemoryProperties:

memoryHeaps: count = 1
memoryHeaps[0]:
size = 2147483648 (0x80000000) (2.00 GiB)
budget = 0
usage = 0
flags:
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 1
memoryTypes[0]:
heapIndex = 0
propertyFlags = 0x000f:
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
IMAGE_TILING_LINEAR: color images

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                       = false
    textureCompressionETC2                  = false
    textureCompressionASTC_LDR              = false
    textureCompressionBC                    = true
    occlusionQueryPrecise                   = true
    pipelineStatisticsQuery                 = true
    vertexPipelineStoresAndAtomics          = true
    fragmentStoresAndAtomics                = true
    shaderTessellationAndGeometryPointSize  = true
    shaderImageGatherExtended               = true
    shaderStorageImageExtendedFormats       = true
    shaderStorageImageMultisample           = true
    shaderStorageImageReadWithoutFormat     = false
    shaderStorageImageWriteWithoutFormat    = true
    shaderUniformBufferArrayDynamicIndexing = false
    shaderSampledImageArrayDynamicIndexing  = false
    shaderStorageBufferArrayDynamicIndexing = false
    shaderStorageImageArrayDynamicIndexing  = false
    shaderClipDistance                      = true
    shaderCullDistance                      = true
    shaderFloat64                           = true
    shaderInt64                             = true
    shaderInt16                             = true
    shaderResourceResidency                 = false
    shaderResourceMinLod                    = false
    sparseBinding                           = false
    sparseResidencyBuffer                   = false
    sparseResidencyImage2D                  = false
    sparseResidencyImage3D                  = false
    sparseResidency2Samples                 = false
    sparseResidency4Samples                 = false
    sparseResidency8Samples                 = false
    sparseResidency16Samples                = false
    sparseResidencyAliased                  = false
    variableMultisampleRate                 = false
    inheritedQueries                        = false

VkPhysicalDevice16BitStorageFeatures:

    storageBuffer16BitAccess           = true
    uniformAndStorageBuffer16BitAccess = true
    storagePushConstant16              = true
    storageInputOutput16               = false

VkPhysicalDevice8BitStorageFeaturesKHR:

    storageBuffer8BitAccess           = true
    uniformAndStorageBuffer8BitAccess = true
    storagePushConstant8              = true

VkPhysicalDeviceBufferDeviceAddressFeaturesKHR:

    bufferDeviceAddress              = true
    bufferDeviceAddressCaptureReplay = false
    bufferDeviceAddressMultiDevice   = false

VkPhysicalDeviceConditionalRenderingFeaturesEXT:

    conditionalRendering          = true
    inheritedConditionalRendering = false

VkPhysicalDeviceHostQueryResetFeaturesEXT:

    hostQueryReset = true

VkPhysicalDeviceImagelessFramebufferFeaturesKHR:

    imagelessFramebuffer = true

VkPhysicalDeviceIndexTypeUint8FeaturesEXT:

    indexTypeUint8 = true

VkPhysicalDeviceLineRasterizationFeaturesEXT:

    rectangularLines         = true
    bresenhamLines           = true
    smoothLines              = true
    stippledRectangularLines = true
    stippledBresenhamLines   = true
    stippledSmoothLines      = true

VkPhysicalDeviceMultiviewFeatures:

    multiview                   = true
    multiviewGeometryShader     = true
    multiviewTessellationShader = true

VkPhysicalDeviceProtectedMemoryFeatures:

    protectedMemory = false

VkPhysicalDeviceSamplerYcbcrConversionFeatures:

    samplerYcbcrConversion = false

VkPhysicalDeviceScalarBlockLayoutFeaturesEXT:

    scalarBlockLayout = true

VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR:

    separateDepthStencilLayouts = true

VkPhysicalDeviceShaderAtomicInt64FeaturesKHR:

    shaderBufferInt64Atomics = true
    shaderSharedInt64Atomics = true

VkPhysicalDeviceShaderDrawParametersFeatures:

    shaderDrawParameters = true

VkPhysicalDeviceTransformFeedbackFeaturesEXT:

    transformFeedback = true
    geometryStreams   = true

VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR:

    uniformBufferStandardLayout = true

VkPhysicalDeviceVariablePointersFeatures:

    variablePointersStorageBuffer = true
    variablePointers              = false

VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT:

    vertexAttributeInstanceRateDivisor     = true
    vertexAttributeInstanceRateZeroDivisor = false

@qtyandhasee
Copy link
Author

lscpu
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 6
On-line CPU(s) list: 0-3
Off-line CPU(s) list: 4,5
Thread(s) per core: 1
Core(s) per socket: 2
Socket(s): 2
Vendor ID: Nvidia
Model: 0
Model name: ARMv8 Processor rev 0 (v8l)
Stepping: 0x0
CPU max MHz: 1907.2000
CPU min MHz: 115.2000
BogoMIPS: 62.50
L1d cache: 256 KiB
L1i cache: 512 KiB
L2 cache: 4 MiB
L3 cache: 4 MiB
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1: Mitigation; __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Branch predictor hardening, but not BHB
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm dcpop

@0cc4m
Copy link
Collaborator

0cc4m commented Apr 1, 2024

Your vulkan-headers package is too old, I think.

@github-actions github-actions bot added the stale label May 2, 2024
Copy link
Contributor

This issue was closed because it has been inactive for 14 days since being marked as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants