From 119669fe48e3b0d2f1c8e2ca1c04323d88983e5a Mon Sep 17 00:00:00 2001 From: Dzmitry Malyshau Date: Thu, 16 Aug 2018 00:10:51 -0400 Subject: [PATCH] gfx-rs update for the swapchain configuration --- Cargo.lock | 67 ++++++++++++++++----------------- Makefile | 23 ++++++----- libportability-gfx/src/impls.rs | 6 +-- 3 files changed, 49 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4b3bdeb..a7e55c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,7 +36,7 @@ name = "backtrace" version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)", + "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", @@ -45,7 +45,7 @@ dependencies = [ [[package]] name = "backtrace-sys" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cc 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)", @@ -297,7 +297,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "gfx-backend-dx11" version = "0.1.0" -source = "git+https://github.com/gfx-rs/gfx#889b93209803d0bbbf864bcb1359f028de62007a" +source = "git+https://github.com/gfx-rs/gfx#92d57743ffa2c2e2ee99b2f1a5c2b1ecddd7e308" dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "derivative 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -314,7 +314,7 @@ dependencies = [ [[package]] name = "gfx-backend-dx12" version = "0.1.0" -source = "git+https://github.com/gfx-rs/gfx#889b93209803d0bbbf864bcb1359f028de62007a" +source = "git+https://github.com/gfx-rs/gfx#92d57743ffa2c2e2ee99b2f1a5c2b1ecddd7e308" dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "derivative 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -330,7 +330,7 @@ dependencies = [ [[package]] name = "gfx-backend-metal" version = "0.1.0" -source = "git+https://github.com/gfx-rs/gfx#889b93209803d0bbbf864bcb1359f028de62007a" +source = "git+https://github.com/gfx-rs/gfx#92d57743ffa2c2e2ee99b2f1a5c2b1ecddd7e308" dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -351,7 +351,7 @@ dependencies = [ [[package]] name = "gfx-backend-vulkan" version = "0.1.0" -source = "git+https://github.com/gfx-rs/gfx#889b93209803d0bbbf864bcb1359f028de62007a" +source = "git+https://github.com/gfx-rs/gfx#92d57743ffa2c2e2ee99b2f1a5c2b1ecddd7e308" dependencies = [ "ash 0.24.4 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -368,7 +368,7 @@ dependencies = [ [[package]] name = "gfx-hal" version = "0.1.0" -source = "git+https://github.com/gfx-rs/gfx#889b93209803d0bbbf864bcb1359f028de62007a" +source = "git+https://github.com/gfx-rs/gfx#92d57743ffa2c2e2ee99b2f1a5c2b1ecddd7e308" dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -718,7 +718,7 @@ dependencies = [ "aho-corasick 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -790,9 +790,9 @@ dependencies = [ "memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-client 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-commons 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-protocols 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-client 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-commons 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-protocols 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -886,11 +886,10 @@ dependencies = [ [[package]] name = "thread_local" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -950,23 +949,23 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.20.11" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-commons 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-scanner 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-sys 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-commons 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-scanner 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-sys 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "wayland-commons" -version = "0.20.11" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "downcast-rs 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-sys 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-sys 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -994,14 +993,14 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.20.11" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-client 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-commons 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-scanner 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-sys 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-client 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-commons 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-scanner 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-sys 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1014,7 +1013,7 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.20.11" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "xml-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1031,7 +1030,7 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.20.11" +version = "0.20.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "dlib 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1113,7 +1112,7 @@ dependencies = [ "parking_lot 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)", "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "smithay-client-toolkit 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "wayland-client 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)", + "wayland-client 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "x11-dl 2.18.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1168,7 +1167,7 @@ dependencies = [ "checksum ash 0.24.4 (registry+https://github.com/rust-lang/crates.io-index)" = "11f080bc0414ee1b6b959442cb36478d56c6e6b9bb2b04079a5048d9acc91a30" "checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652" "checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a" -"checksum backtrace-sys 0.1.23 (registry+https://github.com/rust-lang/crates.io-index)" = "bff67d0c06556c0b8e6b5f090f0eac52d950d9dfd1d35ba04e4ca3543eaf6a7e" +"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0" "checksum bitflags 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d0c54bb8f454c567f21197eefcdbf5679d0bd99f2ddbe52e84c77061952e6789" "checksum block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" "checksum byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8389c509ec62b9fe8eca58c502a0acaf017737355615243496cde4994f8fa4f9" @@ -1259,7 +1258,7 @@ dependencies = [ "checksum tempfile 3.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c4b103c6d08d323b92ff42c8ce62abcd83ca8efa7fd5bf7927efefec75f58c76" "checksum termcolor 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "722426c4a0539da2c4ffd9b419d90ad540b4cff4a053be9069c908d4d07e2836" "checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096" -"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963" +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b" "checksum token_store 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a686838375fc11103b9c1529c6508320b7bd5e2401cd62831ca51b3e82e61849" "checksum ucd-util 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd2be2d6639d0f8fe6cdda291ad456e23629558d466e2789d2c3e9892bda285d" "checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" @@ -1269,15 +1268,15 @@ dependencies = [ "checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051" "checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" "checksum wayland-client 0.12.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2b90adf943117ee4930d7944fe103dcb6f36ba05421f46521cb5adbf6bf0fbc8" -"checksum wayland-client 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b4ff113a1c1c5e5104c7abfc2a80ba5e2bf78e1ac725ebbf934772dbd2983847" -"checksum wayland-commons 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9892d32d32dd45121fdaee5c3e7acf9923e3fc9d8f0ab09e4148b6a5e9aebb9c" +"checksum wayland-client 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)" = "e7516a23419a55bd2e6d466c75a6a52c85718e5013660603289c2b8bee794b12" +"checksum wayland-commons 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)" = "d8609d59b95bf198bae4f3b064d55a712f2d529eec6aac98cc1f6e9cc911d47a" "checksum wayland-kbd 0.13.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4fe0fb1c9917da9529d781659e456d84a693d74fe873d1658109758444616f76" "checksum wayland-protocols 0.12.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fb5942dd2fc79d934db437c9ea3aabffceb49b546046ea453bcba531005e5537" -"checksum wayland-protocols 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)" = "251d1dbf33e60c51878037e2d23ef2169ae2f8996bdc91d543a96cf8a641f323" +"checksum wayland-protocols 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)" = "bd4d31a96be6ecdbaddbf35200f5af2daee01be592afecd8feaf443d417e9230" "checksum wayland-scanner 0.12.5 (registry+https://github.com/rust-lang/crates.io-index)" = "dcffa55a621e6f2c3d436de64d840fc325e1d0a467b92ee5e7292e17552e08ad" -"checksum wayland-scanner 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3ca8187bffd85d8c8d88b55113aa8ff4276723617f85ab4ff1c36a88e0bbcd80" +"checksum wayland-scanner 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)" = "e674d85ae9c67cbbc590374d8f2e20a7a02fff87ce3a31fc52213afece8d05ad" "checksum wayland-sys 0.12.5 (registry+https://github.com/rust-lang/crates.io-index)" = "377a2f83063c463e801ca10ae8cb9666e6e597eecac0049ac36cc7b9a83b0db3" -"checksum wayland-sys 0.20.11 (registry+https://github.com/rust-lang/crates.io-index)" = "de74f07898a3f5b3407e19de2c175b5fbd989324b2c782e2d0e20d918639e63f" +"checksum wayland-sys 0.20.12 (registry+https://github.com/rust-lang/crates.io-index)" = "87c82ee658aa657fdfd7061f22e442030d921cfefc5bad68bcf41973e67922f7" "checksum wayland-window 0.13.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e5bf431e84f0de9cd06a30b2fb9ab9458f449cb6c36277da703e979ad5c141b1" "checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd" "checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" diff --git a/Makefile b/Makefile index 310cd37..b580f0b 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,8 @@ CTS_DIR=../VK-GL-CTS CHERRY_DIR=../cherry BINDING=target/vulkan.rs NATIVE_DIR=target/native -TARGET=$(NATIVE_DIR)/test -OBJECTS=$(NATIVE_DIR)/test.o $(NATIVE_DIR)/window.o +NATIVE_TARGET=$(NATIVE_DIR)/test +NATIVE_OBJECTS=$(NATIVE_DIR)/test.o $(NATIVE_DIR)/window.o LIB_EXTENSION= TEST_LIST=$(CURDIR)/conformance/deqp.txt TEST_LIST_SOURCE=$(CTS_DIR)/external/vulkancts/mustpass/1.0.2/vk-default.txt @@ -53,9 +53,9 @@ FULL_LIBRARY_PATH=$(CURDIR)/target/debug LIBRARY=target/debug/libportability.$(LIB_EXTENSION) LIBRARY_FAST=target/release/libportability.$(LIB_EXTENSION) -.PHONY: all rebuild debug release version-debug version-release binding run cts clean cherry dota-debug dota-release dota-orig +.PHONY: all rebuild debug release version-debug version-release binding run-native cts clean cherry dota-debug dota-release dota-orig dota-bench-gfx dota-bench-orig dota-bench-gl -all: $(TARGET) +all: $(NATIVE_TARGET) rebuild: cargo build --manifest-path libportability/Cargo.toml --features $(BACKEND) @@ -122,11 +122,11 @@ $(LIBRARY_FAST): libportability*/src/*.rs libportability*/Cargo.toml Cargo.lock $(NATIVE_DIR)/%.o: native/%.cpp $(DEPS) Makefile $(CC) -c -o $@ $< $(CFLAGS) -$(TARGET): $(LIBRARY) $(OBJECTS) Makefile - $(CC) -o $(TARGET) $(OBJECTS) $(LIBRARY) $(LDFLAGS) +$(NATIVE_TARGET): $(LIBRARY) $(NATIVE_OBJECTS) Makefile + $(CC) -o $(NATIVE_TARGET) $(NATIVE_OBJECTS) $(LIBRARY) $(LDFLAGS) -run: $(TARGET) - $(TARGET) +run-native: $(NATIVE_TARGET) + $(NATIVE_TARGET) $(TEST_LIST): $(TEST_LIST_SOURCE) cat $(TEST_LIST_SOURCE) | grep -v -e ".event" -e "query" >$(TEST_LIST) @@ -151,8 +151,11 @@ endif #debug endif #pick clean: - rm -f $(OBJECTS) $(TARGET) $(BINDING) + rm -f $(NATIVE_OBJECTS) $(NATIVE_TARGET) $(BINDING) cargo clean -cherry: $(TARGET) +target/debug/libvulkan.$(LIB_EXTENSION): + cd target/debug && ln -sf libportability.$(LIB_EXTENSION) libvulkan.$(LIB_EXTENSION) + +cherry: $(LIBRARY) target/debug/libvulkan.$(LIB_EXTENSION) cd $(CHERRY_DIR) && rm -f Cherry.db && RUST_LOG=warn LD_LIBRARY_PATH=$(FULL_LIBRARY_PATH) go run server.go diff --git a/libportability-gfx/src/impls.rs b/libportability-gfx/src/impls.rs index edc8c93..8ce4954 100644 --- a/libportability-gfx/src/impls.rs +++ b/libportability-gfx/src/impls.rs @@ -3892,16 +3892,16 @@ pub extern "C" fn gfxCreateSwapchainKHR( let config = hal::SwapchainConfig { present_mode: conv::map_present_mode(info.presentMode), - color_format: conv::map_format(info.imageFormat).unwrap(), - depth_stencil_format: None, + format: conv::map_format(info.imageFormat).unwrap(), + extent: conv::map_extent2d(info.imageExtent), image_count: info.minImageCount, + image_layers: 1, image_usage: conv::map_image_usage(info.imageUsage), }; let (swapchain, backbuffers) = gpu.device.create_swapchain( &mut info.surface.clone(), config, info.oldSwapchain.unbox().map(|s| s.raw), - &conv::map_extent2d(info.imageExtent), ); let images = match backbuffers {