diff --git a/Cargo.lock b/Cargo.lock index 64dcd0ca..07162b41 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -541,9 +541,6 @@ dependencies = [ "pathfinder_gpu 0.1.0", "pathfinder_renderer 0.1.0", "pathfinder_simd 0.3.0", - "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -563,9 +560,13 @@ dependencies = [ "fixedbitset 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "pathfinder_geometry 0.3.0", + "pathfinder_gpu 0.1.0", "pathfinder_simd 0.3.0", "quickcheck 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_derive 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.38 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/demo/common/src/lib.rs b/demo/common/src/lib.rs index 15e6e43e..7a63e1b5 100644 --- a/demo/common/src/lib.rs +++ b/demo/common/src/lib.rs @@ -20,10 +20,10 @@ use pathfinder_geometry::basic::rect::RectF32; use pathfinder_geometry::basic::transform2d::Transform2DF32; use pathfinder_geometry::basic::transform3d::{Perspective, Transform3DF32}; use pathfinder_gl::device::GLDevice; -use pathfinder_gl::renderer::Renderer; use pathfinder_gpu::{DepthFunc, DepthState, Device, Primitive, RenderState, Resources}; use pathfinder_gpu::{StencilFunc, StencilState, UniformData}; use pathfinder_renderer::builder::{RenderOptions, RenderTransform, SceneBuilder}; +use pathfinder_renderer::gpu::renderer::Renderer; use pathfinder_renderer::gpu_data::BuiltScene; use pathfinder_renderer::paint::ColorU; use pathfinder_renderer::post::{DEFRINGING_KERNEL_CORE_GRAPHICS, STEM_DARKENING_FACTORS}; diff --git a/demo/common/src/ui.rs b/demo/common/src/ui.rs index 39a0f2c4..5fe23cc0 100644 --- a/demo/common/src/ui.rs +++ b/demo/common/src/ui.rs @@ -12,8 +12,8 @@ use crate::Options; use nfd::Response; use pathfinder_geometry::basic::point::Point2DI32; use pathfinder_geometry::basic::rect::RectI32; -use pathfinder_gl::debug::{DebugUI, PADDING, TEXT_COLOR, WINDOW_COLOR}; use pathfinder_gpu::{Device, Resources}; +use pathfinder_renderer::gpu::debug::{DebugUI, PADDING, TEXT_COLOR, WINDOW_COLOR}; use pathfinder_renderer::paint::ColorU; use std::f32::consts::PI; use std::path::PathBuf; diff --git a/gl/Cargo.toml b/gl/Cargo.toml index e2e69101..8846a96c 100644 --- a/gl/Cargo.toml +++ b/gl/Cargo.toml @@ -6,9 +6,6 @@ authors = ["Patrick Walton "] [dependencies] gl = "0.6" -serde = "1.0" -serde_derive = "1.0" -serde_json = "1.0" [dependencies.image] version = "0.21" diff --git a/gl/src/lib.rs b/gl/src/lib.rs index 928d84a2..2adbe251 100644 --- a/gl/src/lib.rs +++ b/gl/src/lib.rs @@ -15,9 +15,4 @@ //! rendering yourself using the API or engine of your choice. This crate can //! be useful for simple use cases, however. -#[macro_use] -extern crate serde_derive; - -pub mod debug; pub mod device; -pub mod renderer; diff --git a/renderer/Cargo.toml b/renderer/Cargo.toml index 9786fcbf..92884951 100644 --- a/renderer/Cargo.toml +++ b/renderer/Cargo.toml @@ -9,11 +9,17 @@ byteorder = "1.2" fixedbitset = "0.1" hashbrown = "0.1" rayon = "1.0" +serde = "1.0" +serde_derive = "1.0" +serde_json = "1.0" smallvec = "0.6" [dependencies.pathfinder_geometry] path = "../geometry" +[dependencies.pathfinder_gpu] +path = "../gpu" + [dependencies.pathfinder_simd] path = "../simd" diff --git a/gl/src/debug.rs b/renderer/src/gpu/debug.rs similarity index 99% rename from gl/src/debug.rs rename to renderer/src/gpu/debug.rs index b47ca092..9b256716 100644 --- a/gl/src/debug.rs +++ b/renderer/src/gpu/debug.rs @@ -1,4 +1,4 @@ -// pathfinder/gl/src/debug.rs +// pathfinder/renderer/src/gpu/debug.rs // // Copyright © 2019 The Pathfinder Project Developers. // @@ -15,12 +15,12 @@ //! //! The debug font atlas was generated using: https://evanw.github.io/font-texture-generator/ +use crate::gpu_data::Stats; +use crate::paint::ColorU; use pathfinder_geometry::basic::point::Point2DI32; use pathfinder_geometry::basic::rect::RectI32; use pathfinder_gpu::{BlendState, BufferTarget, BufferUploadMode, Device, Primitive, RenderState}; use pathfinder_gpu::{Resources, UniformData, VertexAttrType}; -use pathfinder_renderer::gpu_data::Stats; -use pathfinder_renderer::paint::ColorU; use pathfinder_simd::default::F32x4; use serde_json; use std::collections::{HashMap, VecDeque}; diff --git a/renderer/src/gpu/mod.rs b/renderer/src/gpu/mod.rs new file mode 100644 index 00000000..cc28fc80 --- /dev/null +++ b/renderer/src/gpu/mod.rs @@ -0,0 +1,14 @@ +// pathfinder/renderer/src/gpu/mod.rs +// +// Copyright © 2019 The Pathfinder Project Developers. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +//! The GPU renderer for Pathfinder 3. + +pub mod debug; +pub mod renderer; diff --git a/gl/src/renderer.rs b/renderer/src/gpu/renderer.rs similarity index 99% rename from gl/src/renderer.rs rename to renderer/src/gpu/renderer.rs index f1af2e20..d94dbd12 100644 --- a/gl/src/renderer.rs +++ b/renderer/src/gpu/renderer.rs @@ -1,4 +1,4 @@ -// pathfinder/gl/src/renderer.rs +// pathfinder/renderer/src/gpu/renderer.rs // // Copyright © 2019 The Pathfinder Project Developers. // @@ -8,15 +8,15 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use crate::debug::DebugUI; +use crate::gpu::debug::DebugUI; +use crate::gpu_data::{Batch, BuiltScene, SolidTileScenePrimitive}; +use crate::paint::{ColorU, ObjectShader}; +use crate::post::DefringingKernel; +use crate::tiles::{TILE_HEIGHT, TILE_WIDTH}; use pathfinder_geometry::basic::point::{Point2DI32, Point3DF32}; use pathfinder_gpu::{BlendState, BufferTarget, BufferUploadMode, DepthFunc, DepthState, Device}; use pathfinder_gpu::{Primitive, RenderState, Resources, StencilFunc, StencilState, TextureFormat}; use pathfinder_gpu::{UniformData, VertexAttrType}; -use pathfinder_renderer::gpu_data::{Batch, BuiltScene, SolidTileScenePrimitive}; -use pathfinder_renderer::paint::{ColorU, ObjectShader}; -use pathfinder_renderer::post::DefringingKernel; -use pathfinder_renderer::tiles::{TILE_HEIGHT, TILE_WIDTH}; use pathfinder_simd::default::{F32x4, I32x4}; use std::collections::VecDeque; use std::time::Duration; diff --git a/renderer/src/lib.rs b/renderer/src/lib.rs index e09c8474..daaa477e 100644 --- a/renderer/src/lib.rs +++ b/renderer/src/lib.rs @@ -10,7 +10,11 @@ //! The CPU portion of Pathfinder's renderer. +#[macro_use] +extern crate serde_derive; + pub mod builder; +pub mod gpu; pub mod gpu_data; pub mod paint; pub mod post;