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

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

Open
oscarbg opened this issue Mar 24, 2024 · 4 comments

Comments

@oscarbg
Copy link

oscarbg commented Mar 24, 2024

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..

@kpet
Copy link
Owner

kpet commented Apr 7, 2024

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!

@rjodinchr
Copy link
Contributor

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

@linyaa-kiwi
Copy link

Yes please!

@linyaa-kiwi
Copy link

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.

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

No branches or pull requests

4 participants