Go to file
bors[bot] d853494fc1 Merge #58
58: Add support for blending, buffer copy and indexed drawing r=kvark a=msiglreith

Allows to get `gears` running with dx12+ICD.
We currently don't expose support for high precision depth formats resulting in some artifacts.

Current samples fail due to lack of combined image sampler support for the UI rendering.
But one step after another :p 

Co-authored-by: msiglreith <m.siglreith@gmail.com>
2018-04-18 02:18:04 +00:00
conformance Conformance testing makefile command 2018-04-02 21:58:48 -04:00
libportability Fix dispatchable handles 2018-03-14 22:38:02 +01:00
libportability-gfx Add support for blending, buffer copy and indexed drawing 2018-04-17 23:12:02 +02:00
libportability-icd Fix dispatchable handles 2018-03-14 22:38:02 +01:00
modules Git modules, README, travis, etc 2017-09-06 22:04:18 -04:00
native Metal support, dispatch feature 2018-03-02 06:56:17 -05:00
.gitignore Include Cargo.lock instead of fixed revisions 2018-04-11 21:32:31 -04:00
.gitmodules Git modules, README, travis, etc 2017-09-06 22:04:18 -04:00
.travis.yml Metal support, dispatch feature 2018-03-02 06:56:17 -05:00
appveyor.yml Add appveyor CI support 2018-03-01 13:33:14 +01:00
bors.toml Add appveyor CI support 2018-03-01 13:33:14 +01:00
Cargo.lock gfx update to c0ba2019c613432d74e2f13d95a398b220c9c9c4 2018-04-17 15:28:59 -04:00
Cargo.toml Restructure project for ICD implementation 2017-12-08 19:18:35 +01:00
CMakeLists.txt Update to latest gfx master 2018-01-02 00:47:47 +01:00
LICENSE Initial commit 2017-09-06 21:53:52 -04:00
Makefile gfx update to c0ba2019c613432d74e2f13d95a398b220c9c9c4 2018-04-17 15:28:59 -04:00
README.md gfx update to c0ba2019c613432d74e2f13d95a398b220c9c9c4 2018-04-17 15:28:59 -04:00

gfx-portability

Build Status Gitter

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 7723 2236 66 34 0 5387 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

DX12 and Metal measurement are currently out of date.

Currently stopping with:

(RADV ARCH VULKAN) radv_BeginCommandBuffer: Assertion `pBeginInfo->pInheritanceInfo' failed.

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.