mirror of
https://github.com/italicsjenga/portability.git
synced 2024-11-23 07:21:31 +11:00
2.1 KiB
2.1 KiB
gfx-portability
This is a prototype library implementing Vulkan Portability Initiative using gfx-rs low-level core. See gfx-rs meta issue for backend limitations and further details.
Vulkan CTS coverage
gfx-rs Backend | Total cases | Pass | Fail | Quality warning | Compatibility warning | Not supported | Resource error | Internal error | Timeout | Crash |
---|---|---|---|---|---|---|---|---|---|---|
Vulkan | 7759 | 2155 | 131 | 34 | 0 | 5439 | 0 | 0 | 0 | 0 |
DX12 | 3563 | 1243 | 73 | 0 | 0 | 2247 | 0 | 0 | 0 | 0 |
Metal | 3538 | 1215 | 109 | 0 | 0 | 2214 | 0 | 0 | 0 | 0 |
Currently stopping on "dEQP-VK.api.command_buffers.render_pass_continue".
Please visit our wiki for CTS hookup instructions. Once everything is set, you can generate the new results by calling make cts
on Unix systems.
Check out
git clone --recursive https://github.com/gfx-rs/portability && cd portability
Build
Makefile (Unix)
make
CMake (Window)
Build the Rust library (portability implementation):
cargo build --manifest-path libportability/Cargo.toml --features <vulkan|dx12|metal>
Build the native example:
mkdir build
cd build
cmake ..
cmake --build . --target native_test
Running Samples
LunarG (API-Samples)
After building portability
as shown above, grab a copy from https://github.com/LunarG/VulkanSamples.
Manually override the VULKAN_LOADER
variable and set it to the portability library.
set (VULKAN_LOADER "path/to/portability/library")
Then proceed with the normal build instructions.