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

Vulkan API portability for C++? #223

Open
ghost opened this issue Sep 21, 2020 · 3 comments
Open

Vulkan API portability for C++? #223

ghost opened this issue Sep 21, 2020 · 3 comments
Labels

Comments

@ghost
Copy link

ghost commented Sep 21, 2020

I'm wondering if this portability can be supported by C++ programs? I just would like to have support for Vulkan API through DirectX 12, and in C++ code... Also, I would like to have direct DXIL shaders in the DirectX 12 backend, without SPIR-V conversion. I hadn't thought to ask such a question for many years.

@kvark kvark added the question label Sep 22, 2020
@kvark
Copy link
Member

kvark commented Sep 22, 2020

Vulkan is a C API, so you can use it from C++. The fact that gfx-portability is written in Rust is not standing in the way. It still produces a regular dynamic library.

Also, I would like to have direct DXIL shaders in the DirectX 12 backend, without SPIR-V conversion

That part is problematic, because we generate HLSL code based on the pipeline states and pipeline layout. We can't just work with a random DX12 shader provided by the user.

Are you interested in this with the goal of making shader translation faster? or for a different reason?

@ghost
Copy link
Author

ghost commented Sep 22, 2020

Are you interested in this with the goal of making shader translation faster? or for a different reason?

I'm interesting for more direct HLSL Source Code <=> GFX D3D12 compilation and backends.

@kvark
Copy link
Member

kvark commented Sep 22, 2020

We don't have this ability right now. We reserve the right to parametrize shader generation not only by the pipeline layout and states, but also the hardware capabilities of the target machine. The best idiomatic way to accelerate pipeline creation is by using Vulkan pipeline caches.

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

No branches or pull requests

1 participant