From 763e2d4c3629b7de5a19ea24d8086d0a435dd513 Mon Sep 17 00:00:00 2001 From: Joshua Groves Date: Wed, 16 Oct 2019 23:25:44 -0230 Subject: [PATCH 1/3] Simplify Makefile --- Makefile | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 0a048f70b39..10e0590e283 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,9 @@ RUST_BACKTRACE:=1 EXCLUDES:= -FEATURES_EXTRA:=mint serialize FEATURES_HAL:= FEATURES_HAL2:= FEATURES_HAL3:= -SDL2_DEST=$(HOME)/deps -SDL2_CONFIG=$(SDL2_DEST)/usr/bin/sdl2-config -SDL2_PPA=http://ppa.launchpad.net/zoogie/sdl2-snapshots/ubuntu/pool/main/libs/libsdl2 - ifeq (,$(TARGET)) CHECK_TARGET_FLAG= else @@ -44,7 +39,7 @@ else endif -.PHONY: all check quad quad-wasm test doc reftests benches travis-sdl2 +.PHONY: all check quad quad-wasm test doc reftests benches all: check test @@ -69,6 +64,7 @@ doc: reftests: cd src/warden && cargo run --bin reftest --features "$(FEATURES_HAL) $(FEATURES_HAL2)" -- local #TODO: gl + benches: cd src/warden && cargo run --release --bin bench --features "$(FEATURES_HAL) $(FEATURES_HAL2)" -- blit @@ -82,14 +78,3 @@ quad: quad-wasm: cd examples && cargo +nightly build --target wasm32-unknown-unknown --features gl --bin quad && wasm-bindgen ../target/wasm32-unknown-unknown/debug/quad.wasm --out-dir ../examples/generated-wasm --web -travis-sdl2: - #TODO - #if [ -e $(SDL2_CONFIG) ]; then exit 1; fi - #mkdir -p $(SDL2_DEST) - #test -f $(SDL2_DEST)/dev.deb || curl -sLo $(SDL2_DEST)/dev.deb $(SDL2_PPA)/libsdl2-dev_2.0.3+z4~20140315-8621-1ppa1precise1_amd64.deb - #test -f $(SDL2_DEST)/bin.deb || curl -sLo $(SDL2_DEST)/bin.deb $(SDL2_PPA)/libsdl2_2.0.3+z4~20140315-8621-1ppa1precise1_amd64.deb - #dpkg-deb -x $(SDL2_DEST)/bin.deb . - #dpkg-deb -x $(SDL2_DEST)/dev.deb . - #sed -e s,/usr,$(SDL2_DEST),g $(SDL2_CONFIG) > $(SDL2_CONFIG).new - #mv $(SDL2_CONFIG).new $(SDL2_CONFIG) - #chmod a+x $(SDL2_CONFIG) From b7eb2adb2913ac51bff2bc9719a458a7864cd726 Mon Sep 17 00:00:00 2001 From: Joshua Groves Date: Thu, 17 Oct 2019 00:19:52 -0230 Subject: [PATCH 2/3] Remove sdl2 from CI --- .travis.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 637c9e153ce..6eff0a73343 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,12 +60,8 @@ before_install: # Do not run bors builds against the nightly compiler. # We want to find out about nightly bugs, so they're done in master, but we don't block on them. - if [[ $TRAVIS_RUST_VERSION == "nightly" && $TRAVIS_BRANCH == "staging" ]]; then exit; fi - # Extract SDL2 .deb into a cached directory (see cache section above and LIBRARY_PATH exports below) - # Will no longer be needed when Trusty build environment goes out of beta at Travis CI - # (assuming it will have libsdl2-dev and Rust by then) - # see https://docs.travis-ci.com/user/trusty-ci-environment/ - - if [[ $TRAVIS_OS_NAME == "linux" ]]; then make travis-sdl2 && export CXX=g++-5; fi - - if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew update && brew install sdl2; fi + - if [[ $TRAVIS_OS_NAME == "linux" ]]; then export CXX=g++-5; fi + - if [[ $TRAVIS_OS_NAME == "osx" ]]; then brew update; fi - if [[ $TRAVIS_OS_NAME == "windows" ]]; then choco install make; fi - rustup self update - rustup target add $TARGET; true From 5282bee28e696ed5f049fa7f3781eb6d50071274 Mon Sep 17 00:00:00 2001 From: Joshua Groves Date: Thu, 17 Oct 2019 20:33:08 -0230 Subject: [PATCH 3/3] metal: build shaders in Makefile instead --- Makefile | 9 +- src/backend/metal/build.rs | 87 ------------------ .../metal/shaders/gfx_shaders.metallib | Bin 0 -> 56133 bytes src/backend/metal/src/internal.rs | 2 +- 4 files changed, 9 insertions(+), 89 deletions(-) delete mode 100644 src/backend/metal/build.rs create mode 100644 src/backend/metal/shaders/gfx_shaders.metallib diff --git a/Makefile b/Makefile index 10e0590e283..1db1dd0dc1c 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ else endif -.PHONY: all check quad quad-wasm test doc reftests benches +.PHONY: all check quad quad-wasm test doc reftests benches shader-binaries all: check test @@ -78,3 +78,10 @@ quad: quad-wasm: cd examples && cargo +nightly build --target wasm32-unknown-unknown --features gl --bin quad && wasm-bindgen ../target/wasm32-unknown-unknown/debug/quad.wasm --out-dir ../examples/generated-wasm --web +shader-binaries: +ifeq ($(UNAME_S),Darwin) + cd ./src/backend/metal/shaders && \ + xcrun -sdk macosx metal -c *.metal -mmacosx-version-min=10.11 && \ + xcrun -sdk macosx metallib *.air -o gfx_shaders.metallib && \ + rm *.air +endif diff --git a/src/backend/metal/build.rs b/src/backend/metal/build.rs deleted file mode 100644 index 737581bfdbc..00000000000 --- a/src/backend/metal/build.rs +++ /dev/null @@ -1,87 +0,0 @@ -// Compiles the shaders used internally by some commands - -use std::env; -use std::ffi::OsStr; -use std::fs; -use std::path::{Path, PathBuf}; -use std::process::Command; - -fn main() { - let pd = env::var("CARGO_MANIFEST_DIR").unwrap(); - let target = env::var("TARGET").unwrap(); - let os = if target.ends_with("ios") { - "ios" - } else if target.ends_with("darwin") { - "darwin" - } else { - panic!("unsupported target {}", target) - }; - let arch = &target[.. target.chars().position(|c| c == '-').unwrap()]; - - let (sdk_name, platform_args): (_, &[_]) = match (os, arch) { - ("ios", "aarch64") => ("iphoneos", &["-mios-version-min=8.0"]), - ("ios", "x86_64") => ("iphonesimulator", &["-mios-simulator-version-min=8.0"]), - ("ios", "armv7s") | ("ios", "armv7") => panic!("32-bit iOS does not have metal support"), - ("ios", "i386") => panic!("32-bit iOS simulator does not have metal support"), - ("darwin", _) => ("macosx", &["-mmacosx-version-min=10.11"]), - _ => panic!("unsupported target {}", target), - }; - - let project_dir = Path::new(&pd); - let shader_dir = project_dir.join("shaders"); - println!("cargo:rerun-if-changed={}", shader_dir.to_str().unwrap()); - - let od = env::var("OUT_DIR").unwrap(); - let out_dir = Path::new(&od); - let out_lib = out_dir.join("gfx_shaders.metallib"); - - // Find all .metal files _at the top level only_ - let shader_files = fs::read_dir(&shader_dir) - .expect("could not open shader directory") - .filter_map(|entry| { - let entry = entry.expect("error reading shader directory entry"); - let path = entry.path(); - match path.extension().and_then(OsStr::to_str) { - Some("metal") => Some(path), - _ => None, - } - }); - - // Compile all the metal files into OUT_DIR - let mut compiled_shader_files: Vec = Vec::new(); - for shader_path in shader_files.into_iter() { - println!("cargo:rerun-if-changed={}", shader_path.to_str().unwrap()); - - let mut out_path = out_dir.join(shader_path.file_name().unwrap()); - out_path.set_extension("air"); - - let status = Command::new("xcrun") - .args(&["-sdk", sdk_name, "metal", "-c"]) - .arg(shader_path.as_os_str()) - .arg("-o") - .arg(out_path.as_os_str()) - .args(platform_args) - .status() - .expect("failed to execute metal compiler"); - - if !status.success() { - // stdout is linked to parent, so more detailed message will have been output from `metal` - panic!("shader compilation failed"); - } - - compiled_shader_files.push(out_path); - } - - // Link all the compiled files into a single library - let status = Command::new("xcrun") - .args(&["-sdk", sdk_name, "metallib"]) - .args(compiled_shader_files.iter().map(|p| p.as_os_str())) - .arg("-o") - .arg(out_lib.as_os_str()) - .status() - .expect("failed to execute metal library builder"); - - if !status.success() { - panic!("shader library build failed"); - } -} diff --git a/src/backend/metal/shaders/gfx_shaders.metallib b/src/backend/metal/shaders/gfx_shaders.metallib new file mode 100644 index 0000000000000000000000000000000000000000..b446e8f695a33b076207961168a68395c379f9a3 GIT binary patch literal 56133 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 literal 0 HcmV?d00001 diff --git a/src/backend/metal/src/internal.rs b/src/backend/metal/src/internal.rs index 66a6d0e6193..2246e8b3325 100644 --- a/src/backend/metal/src/internal.rs +++ b/src/backend/metal/src/internal.rs @@ -451,7 +451,7 @@ pub struct ServicePipes { impl ServicePipes { pub fn new(device: &metal::DeviceRef) -> Self { - let data = include_bytes!(concat!(env!("OUT_DIR"), "/gfx_shaders.metallib")); + let data = include_bytes!("./../shaders/gfx_shaders.metallib"); let library = device.new_library_with_data(data).unwrap(); let copy_buffer = Self::create_copy_buffer(&library, device);