Skip to content

Commit

Permalink
don't ship resources that are not needed
Browse files Browse the repository at this point in the history
  • Loading branch information
s3bk committed Mar 23, 2024
1 parent a84ad8b commit 210e285
Show file tree
Hide file tree
Showing 9 changed files with 150 additions and 116 deletions.
2 changes: 1 addition & 1 deletion renderer/src/gpu/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
pub mod d3d9;
#[cfg(feature="d3d11")]
pub mod d3d11;
#[cfg(feature="ui")]
#[cfg(feature="debug")]
pub mod debug;
pub mod options;
pub mod perf;
Expand Down
7 changes: 7 additions & 0 deletions resources/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,11 @@ license = "MIT OR Apache-2.0"
repository = "https://github.com/servo/pathfinder"
homepage = "https://github.com/servo/pathfinder"

[features]
gl3 = []
gl4 = []
metal = []
debug = []
default = ["gl3", "gl4", "metal", "debug"]

[dependencies]
99 changes: 0 additions & 99 deletions resources/MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -2,103 +2,4 @@
#
# When you add a new resource, make sure to add it to this file.

debug-fonts/regular.json
shaders/gl3/blit.fs.glsl
shaders/gl3/blit.vs.glsl
shaders/gl3/clear.fs.glsl
shaders/gl3/clear.vs.glsl
shaders/gl3/d3d9/fill.fs.glsl
shaders/gl3/d3d9/fill.vs.glsl
shaders/gl3/d3d9/tile.fs.glsl
shaders/gl3/d3d9/tile.vs.glsl
shaders/gl3/d3d9/tile_clip_combine.fs.glsl
shaders/gl3/d3d9/tile_clip_combine.vs.glsl
shaders/gl3/d3d9/tile_clip_copy.fs.glsl
shaders/gl3/d3d9/tile_clip_copy.vs.glsl
shaders/gl3/d3d9/tile_copy.fs.glsl
shaders/gl3/d3d9/tile_copy.vs.glsl
shaders/gl3/debug/solid.fs.glsl
shaders/gl3/debug/solid.vs.glsl
shaders/gl3/debug/texture.fs.glsl
shaders/gl3/debug/texture.vs.glsl
shaders/gl3/demo_ground.fs.glsl
shaders/gl3/demo_ground.vs.glsl
shaders/gl3/reproject.fs.glsl
shaders/gl3/reproject.vs.glsl
shaders/gl3/stencil.fs.glsl
shaders/gl3/stencil.vs.glsl
shaders/gl4/blit.fs.glsl
shaders/gl4/blit.vs.glsl
shaders/gl4/clear.fs.glsl
shaders/gl4/clear.vs.glsl
shaders/gl4/d3d11/bin.cs.glsl
shaders/gl4/d3d11/bound.cs.glsl
shaders/gl4/d3d11/dice.cs.glsl
shaders/gl4/d3d11/fill.cs.glsl
shaders/gl4/d3d11/propagate.cs.glsl
shaders/gl4/d3d11/sort.cs.glsl
shaders/gl4/d3d11/tile.cs.glsl
shaders/gl4/d3d9/fill.fs.glsl
shaders/gl4/d3d9/fill.vs.glsl
shaders/gl4/d3d9/tile.fs.glsl
shaders/gl4/d3d9/tile.vs.glsl
shaders/gl4/d3d9/tile_clip_combine.fs.glsl
shaders/gl4/d3d9/tile_clip_combine.vs.glsl
shaders/gl4/d3d9/tile_clip_copy.fs.glsl
shaders/gl4/d3d9/tile_clip_copy.vs.glsl
shaders/gl4/d3d9/tile_copy.fs.glsl
shaders/gl4/d3d9/tile_copy.vs.glsl
shaders/gl4/debug/solid.fs.glsl
shaders/gl4/debug/solid.vs.glsl
shaders/gl4/debug/texture.fs.glsl
shaders/gl4/debug/texture.vs.glsl
shaders/gl4/demo_ground.fs.glsl
shaders/gl4/demo_ground.vs.glsl
shaders/gl4/reproject.fs.glsl
shaders/gl4/reproject.vs.glsl
shaders/gl4/stencil.fs.glsl
shaders/gl4/stencil.vs.glsl
shaders/metal/blit.fs.metal
shaders/metal/blit.vs.metal
shaders/metal/clear.fs.metal
shaders/metal/clear.vs.metal
shaders/metal/d3d11/bin.cs.metal
shaders/metal/d3d11/bound.cs.metal
shaders/metal/d3d11/dice.cs.metal
shaders/metal/d3d11/fill.cs.metal
shaders/metal/d3d11/propagate.cs.metal
shaders/metal/d3d11/sort.cs.metal
shaders/metal/d3d11/tile.cs.metal
shaders/metal/d3d9/fill.fs.metal
shaders/metal/d3d9/fill.vs.metal
shaders/metal/d3d9/tile.fs.metal
shaders/metal/d3d9/tile.vs.metal
shaders/metal/d3d9/tile_clip_combine.fs.metal
shaders/metal/d3d9/tile_clip_combine.vs.metal
shaders/metal/d3d9/tile_clip_copy.fs.metal
shaders/metal/d3d9/tile_clip_copy.vs.metal
shaders/metal/d3d9/tile_copy.fs.metal
shaders/metal/d3d9/tile_copy.vs.metal
shaders/metal/debug/solid.fs.metal
shaders/metal/debug/solid.vs.metal
shaders/metal/debug/texture.fs.metal
shaders/metal/debug/texture.vs.metal
shaders/metal/demo_ground.fs.metal
shaders/metal/demo_ground.vs.metal
shaders/metal/reproject.fs.metal
shaders/metal/reproject.vs.metal
shaders/metal/stencil.fs.metal
shaders/metal/stencil.vs.metal
textures/area-lut.png
textures/debug-corner-fill.png
textures/debug-corner-outline.png
textures/debug-font.png
textures/demo-background.png
textures/demo-effects.png
textures/demo-open.png
textures/demo-rotate.png
textures/demo-screenshot.png
textures/demo-zoom-actual-size.png
textures/demo-zoom-in.png
textures/demo-zoom-out.png
textures/gamma-lut.png
16 changes: 16 additions & 0 deletions resources/MANIFEST.debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# This file must contain the paths of all resources that are used by the Pathfinder library.
#
# When you add a new resource, make sure to add it to this file.

debug-fonts/regular.json
textures/debug-corner-fill.png
textures/debug-corner-outline.png
textures/debug-font.png
textures/demo-background.png
textures/demo-effects.png
textures/demo-open.png
textures/demo-rotate.png
textures/demo-screenshot.png
textures/demo-zoom-actual-size.png
textures/demo-zoom-in.png
textures/demo-zoom-out.png
28 changes: 28 additions & 0 deletions resources/MANIFEST.gl3
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This file must contain the paths of all resources that are used by the Pathfinder library.
#
# When you add a new resource, make sure to add it to this file.

shaders/gl3/blit.fs.glsl
shaders/gl3/blit.vs.glsl
shaders/gl3/clear.fs.glsl
shaders/gl3/clear.vs.glsl
shaders/gl3/d3d9/fill.fs.glsl
shaders/gl3/d3d9/fill.vs.glsl
shaders/gl3/d3d9/tile.fs.glsl
shaders/gl3/d3d9/tile.vs.glsl
shaders/gl3/d3d9/tile_clip_combine.fs.glsl
shaders/gl3/d3d9/tile_clip_combine.vs.glsl
shaders/gl3/d3d9/tile_clip_copy.fs.glsl
shaders/gl3/d3d9/tile_clip_copy.vs.glsl
shaders/gl3/d3d9/tile_copy.fs.glsl
shaders/gl3/d3d9/tile_copy.vs.glsl
shaders/gl3/debug/solid.fs.glsl
shaders/gl3/debug/solid.vs.glsl
shaders/gl3/debug/texture.fs.glsl
shaders/gl3/debug/texture.vs.glsl
shaders/gl3/demo_ground.fs.glsl
shaders/gl3/demo_ground.vs.glsl
shaders/gl3/reproject.fs.glsl
shaders/gl3/reproject.vs.glsl
shaders/gl3/stencil.fs.glsl
shaders/gl3/stencil.vs.glsl
35 changes: 35 additions & 0 deletions resources/MANIFEST.gl4
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This file must contain the paths of all resources that are used by the Pathfinder library.
#
# When you add a new resource, make sure to add it to this file.

shaders/gl4/blit.fs.glsl
shaders/gl4/blit.vs.glsl
shaders/gl4/clear.fs.glsl
shaders/gl4/clear.vs.glsl
shaders/gl4/d3d11/bin.cs.glsl
shaders/gl4/d3d11/bound.cs.glsl
shaders/gl4/d3d11/dice.cs.glsl
shaders/gl4/d3d11/fill.cs.glsl
shaders/gl4/d3d11/propagate.cs.glsl
shaders/gl4/d3d11/sort.cs.glsl
shaders/gl4/d3d11/tile.cs.glsl
shaders/gl4/d3d9/fill.fs.glsl
shaders/gl4/d3d9/fill.vs.glsl
shaders/gl4/d3d9/tile.fs.glsl
shaders/gl4/d3d9/tile.vs.glsl
shaders/gl4/d3d9/tile_clip_combine.fs.glsl
shaders/gl4/d3d9/tile_clip_combine.vs.glsl
shaders/gl4/d3d9/tile_clip_copy.fs.glsl
shaders/gl4/d3d9/tile_clip_copy.vs.glsl
shaders/gl4/d3d9/tile_copy.fs.glsl
shaders/gl4/d3d9/tile_copy.vs.glsl
shaders/gl4/debug/solid.fs.glsl
shaders/gl4/debug/solid.vs.glsl
shaders/gl4/debug/texture.fs.glsl
shaders/gl4/debug/texture.vs.glsl
shaders/gl4/demo_ground.fs.glsl
shaders/gl4/demo_ground.vs.glsl
shaders/gl4/reproject.fs.glsl
shaders/gl4/reproject.vs.glsl
shaders/gl4/stencil.fs.glsl
shaders/gl4/stencil.vs.
35 changes: 35 additions & 0 deletions resources/MANIFEST.metal
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# This file must contain the paths of all resources that are used by the Pathfinder library.
#
# When you add a new resource, make sure to add it to this file.

shaders/metal/blit.fs.metal
shaders/metal/blit.vs.metal
shaders/metal/clear.fs.metal
shaders/metal/clear.vs.metal
shaders/metal/d3d11/bin.cs.metal
shaders/metal/d3d11/bound.cs.metal
shaders/metal/d3d11/dice.cs.metal
shaders/metal/d3d11/fill.cs.metal
shaders/metal/d3d11/propagate.cs.metal
shaders/metal/d3d11/sort.cs.metal
shaders/metal/d3d11/tile.cs.metal
shaders/metal/d3d9/fill.fs.metal
shaders/metal/d3d9/fill.vs.metal
shaders/metal/d3d9/tile.fs.metal
shaders/metal/d3d9/tile.vs.metal
shaders/metal/d3d9/tile_clip_combine.fs.metal
shaders/metal/d3d9/tile_clip_combine.vs.metal
shaders/metal/d3d9/tile_clip_copy.fs.metal
shaders/metal/d3d9/tile_clip_copy.vs.metal
shaders/metal/d3d9/tile_copy.fs.metal
shaders/metal/d3d9/tile_copy.vs.metal
shaders/metal/debug/solid.fs.metal
shaders/metal/debug/solid.vs.metal
shaders/metal/debug/texture.fs.metal
shaders/metal/debug/texture.vs.metal
shaders/metal/demo_ground.fs.metal
shaders/metal/demo_ground.vs.metal
shaders/metal/reproject.fs.metal
shaders/metal/reproject.vs.metal
shaders/metal/stencil.fs.metal
shaders/metal/stencil.vs.metal
43 changes: 27 additions & 16 deletions resources/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,36 @@ fn main() {
writeln!(&mut dest,
"pub static RESOURCES: &'static [(&'static str, &'static [u8])] = &[").unwrap();

let src = BufReader::new(File::open("MANIFEST").unwrap());
for line in src.lines() {
let line = line.unwrap();
let line = line.trim_start().trim_end();
if line.is_empty() || line.starts_with("#") {
continue;
let mut add_manifest = |path: &str| {
let src = BufReader::new(File::open(path).unwrap());
for line in src.lines() {
let line = line.unwrap();
let line = line.trim_start().trim_end();
if line.is_empty() || line.starts_with("#") {
continue;
}

let escaped_path = line.escape_default().to_string();
let mut full_path = cwd.clone();
full_path.push(line);
let escaped_full_path = full_path.to_str().unwrap().escape_default().to_string();

writeln!(&mut dest,
" (\"{}\", include_bytes!(\"{}\")),",
escaped_path,
escaped_full_path).unwrap();

println!("cargo:rerun-if-changed={}", line);
}
};

let escaped_path = line.escape_default().to_string();
let mut full_path = cwd.clone();
full_path.push(line);
let escaped_full_path = full_path.to_str().unwrap().escape_default().to_string();
add_manifest("MANIFEST");

writeln!(&mut dest,
" (\"{}\", include_bytes!(\"{}\")),",
escaped_path,
escaped_full_path).unwrap();

println!("cargo:rerun-if-changed={}", line);
for part in ["debug", "gl3", "gl4", "metal"] {
let key = format!("CARGO_FEATURE_{part}");
if env::var(&key).is_ok() {
add_manifest(&format!("MANIFEST.{part}"));
}
}

writeln!(&mut dest, "];").unwrap();
Expand Down
1 change: 1 addition & 0 deletions webgl/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ path = "../gpu"

[dependencies.pathfinder_renderer]
path = "../renderer"
default-features = false

[dependencies.pathfinder_simd]
path = "../simd"
Expand Down

0 comments on commit 210e285

Please sign in to comment.