Go to file
bors[bot] f0da9debeb Merge #83
83: Remove tiling assert r=kvark a=grovesNL

As far as I can tell, we shouldn't need this assert anymore because we already perform the mapping immediately below.

Unless there is another reason it needs to stay (maybe validating against image format queries?), let's remove it because it causes other unrelated tests to fail.

Co-authored-by: Joshua Groves <josh@joshgroves.com>
2018-05-24 11:11:34 +00:00
conformance Conformance testing makefile command 2018-04-02 21:58:48 -04:00
libportability Debug Handle tracker 2018-04-27 09:49:57 -04:00
libportability-gfx Merge #83 2018-05-24 11:11:34 +00:00
libportability-icd Keep a list of allocated command buffes for proper destruction of the pool 2018-04-18 15:30:07 -04: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 Ignore subdirectory builds and settings 2018-05-03 19:03:24 -06:00
.gitmodules Git modules, README, travis, etc 2017-09-06 22:04:18 -04:00
.travis.yml Debug Handle tracker 2018-04-27 09:49:57 -04: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 Add layers to clear attachments 2018-05-23 19:29:58 -06: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 Clear image update 2018-05-12 21:20:40 -04:00
README.md Warnings, compute pipelines, limits 2018-04-27 09:51:55 -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 7759 2155 131 34 0 5439 0 0 0 0
DX12 3576 1258 70 0 0 2248 0 0 0 0
Metal 7687 2072 112 39 0 5464 0 0 0 0

Current blockers:

  • Vulkan: "api.command_buffers.render_pass_continue" (secondary render passes).
  • DX12: lack of VkBufferView implementation.
  • Metal: "api.buffer_view.access.suballocation.buffer_view_memory_test_complete" (missing R32Uint support).

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. When investigating a particular failure, it's handy to do make cts-debug name=<test_name>, which runs a single test under system debugger (gdb/lldb).

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.