clvk icon indicating copy to clipboard operation
clvk copied to clipboard

Request: add a Vulkan profile json file exposing Vulkan requeriments for various extensions..

Open oscarbg opened this issue 1 year ago • 4 comments

Hi, all other Vulkan layering projects like DXVK VKD3D and Zink have it.. make easing checking a driver against some profiles defined in the schema for missing features easily.. for example VKD3D defines: VP_D3D12_FL_11_0_baseline, VP_D3D12_FL_12_0_optimal, etc..

VKD3D:

https://github.com/HansKristian-Work/vkd3d-proton/blob/master/VP_D3D12_VKD3D_PROTON_profile.json DXVK: https://github.com/doitsujin/dxvk/blob/master/VP_DXVK_requirements.json Zink: https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/drivers/zink/VP_ZINK_requirements.json

so wishing having one for clvk.. thanks..

oscarbg avatar Mar 24 '24 00:03 oscarbg

That's something I've had at the back of my mind for a while. I agree we should absolutely do it. Thanks for creating this issue and for the links!

kpet avatar Apr 07 '24 20:04 kpet

Here is what I get grepping in clvk:

$ git grep -E -o "\<VK_(EXT|KHR)[^ ]*EXTENSION_NAME\>" | sed 's/.*:.*:\(.*\)_EXTENSION_NAME/\1/' | sort -u
VK_EXT_CALIBRATED_TIMESTAMPS
VK_EXT_DEBUG_REPORT
VK_EXT_DESCRIPTOR_INDEXING
VK_EXT_PCI_BUS_INFO
VK_EXT_SUBGROUP_SIZE_CONTROL
VK_KHR_16BIT_STORAGE
VK_KHR_8BIT_STORAGE
VK_KHR_BUFFER_DEVICE_ADDRESS
VK_KHR_DRIVER_PROPERTIES
VK_KHR_EXTERNAL_FENCE_CAPABILITIES
VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2
VK_KHR_GLOBAL_PRIORITY
VK_KHR_MAINTENANCE3
VK_KHR_SHADER_FLOAT16_INT8
VK_KHR_SHADER_FLOAT_CONTROLS
VK_KHR_SHADER_NON_SEMANTIC_INFO
VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES
VK_KHR_SPIRV_1_4
VK_KHR_STORAGE_BUFFER_STORAGE_CLASS
VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT
VK_KHR_VARIABLE_POINTERS
VK_KHR_VULKAN_MEMORY_MODEL

Note that ChromeOS patches add:

VK_KHR_TIMELINE_SEMAPHORE

rjodinchr avatar Nov 19 '24 08:11 rjodinchr

Yes please!

linyaa-kiwi avatar Nov 19 '24 17:11 linyaa-kiwi

I'm currently drafting ChromeOS's Vulkan requirements as a Vk json profile, to share with ChromeOS hardware partners. If clvk had a Vk json profile, that could make it easier to include clvk's requirements into ChromeOS's requirements.

linyaa-kiwi avatar Nov 19 '24 17:11 linyaa-kiwi