Commit graph

748 commits

Author SHA1 Message Date
Raph Levien b6c4963d4c Initial commit of piet-wgsl
Starting an experimental port to WGSL shader language, using wgpu to run the examples. As of this commit, it's quite hacky and takes some shortcuts, but does render paths to a grayscale texture.
2022-10-24 15:08:14 -07:00
Chad Brokaw 4edea5fbc9
Merge pull request #190 from dfrg/api2
Remove piet API and replace with scene fragments
2022-10-19 16:02:21 -04:00
Chad Brokaw 6b1c315163 update c-api deps 2022-10-19 15:54:43 -04:00
Chad Brokaw fe6ed00447 merging Cargo.lock is fun 2022-10-19 15:44:30 -04:00
Chad Brokaw fd14495db6 Merge branch 'api2' of https://github.com/dfrg/piet-gpu into api2 2022-10-19 15:36:44 -04:00
Chad Brokaw 91a6d59cdc Update Cargo.lock 2022-10-19 15:23:18 -04:00
Chad Brokaw c616c69dd8 update tests 2022-10-19 15:21:57 -04:00
Chad Brokaw ca6c43adab update dependencies 2022-10-19 15:21:29 -04:00
Chad Brokaw 09773f89a3 fix gradient ramp color packing 2022-10-19 15:20:04 -04:00
Chad Brokaw 6c5a2cb4f4 macOS fixes
* Fix call to removed encoded_scene method in pgpu-render
* Add new ImageFormat::Surface variant to select a pixel format that matches the platform specific surface format. This makes gradients consistent across platforms.
2022-10-19 15:20:04 -04:00
Chad Brokaw c84d1f6df5 format :( 2022-10-19 15:20:04 -04:00
Chad Brokaw d07fda8ef8 Make transforms stateless
Removes the transform state mutator from SceneBuilder and adds transform parameters to push_layer, fill and stroke methods.
2022-10-19 15:20:04 -04:00
Chad Brokaw c0fcdbad58 make gradient ramps late bound
Removes ResourceContext type. This makes scenes and fragments nearly identical. Should they be merged?
2022-10-19 15:20:04 -04:00
Chad Brokaw 782e7d51d2 Remove piet API & replace w/ fragments
Removes the dependency on the piet crate and replaces all uses with the scene crate.  Also does some cleanup of the scene API, renaming some types and moving them all to the crate root for better ergonomics.
2022-10-19 15:19:20 -04:00
Chad Brokaw 73833eb7c3 update tests 2022-10-19 15:05:23 -04:00
Chad Brokaw 14247770aa update dependencies 2022-10-19 14:58:54 -04:00
Chad Brokaw f7b1bca18b fix gradient ramp color packing 2022-10-19 14:29:40 -04:00
Raph Levien 12fe2c10bc
Merge pull request #191 from linebender/version_bump
Update dependencies
2022-10-18 07:30:59 -07:00
Raph Levien c5d71b4349
Pare down winit features to reduce bloat
Co-authored-by: m-hugo <56653363+m-hugo@users.noreply.github.com>
2022-10-18 07:18:45 -07:00
Raph Levien b63df8e9b8 Fix android example
Updates the android example to use latest ash plumbing.
2022-10-17 20:30:57 -07:00
Raph Levien 69d16ac209 Fix ash and raw_window_handle breakage
Follow API changes introduced by ash, ash_window, and raw_window_handle.
Also updates ash_window to 0.12.

Note: this doesn't fix the android client.
2022-10-17 18:12:41 -07:00
Raph Levien 8e3df2573c Update dependencies
Update various dependencies to latest.
2022-09-21 17:26:02 -07:00
Chad Brokaw a6597af52a macOS fixes
* Fix call to removed encoded_scene method in pgpu-render
* Add new ImageFormat::Surface variant to select a pixel format that matches the platform specific surface format. This makes gradients consistent across platforms.
2022-08-17 16:06:48 -04:00
Chad Brokaw 8ee317a922 format :( 2022-08-16 14:55:59 -04:00
Chad Brokaw 7fe022228a Make transforms stateless
Removes the transform state mutator from SceneBuilder and adds transform parameters to push_layer, fill and stroke methods.
2022-08-16 14:52:04 -04:00
Chad Brokaw cd25528abd make gradient ramps late bound
Removes ResourceContext type. This makes scenes and fragments nearly identical. Should they be merged?
2022-08-11 18:00:53 -04:00
Chad Brokaw 2e8781fbb6 Remove piet API & replace w/ fragments
Removes the dependency on the piet crate and replaces all uses with the scene crate.  Also does some cleanup of the scene API, renaming some types and moving them all to the crate root for better ergonomics.
2022-08-11 15:29:15 -04:00
Chad Brokaw 9dd4559b00
Merge pull request #188 from dfrg/cpath
Expose path rendering in C API
2022-08-09 11:42:40 -04:00
Chad Brokaw 6b7f991da5
Merge pull request #185 from dfrg/xform2
Encode absolute transforms
2022-08-08 12:14:06 -04:00
Chad Brokaw 5a127e09a5 Expose path rendering in C API
* capi: Add PathIter type and support for encoding fills
* capi: Minimal support for brushes (solid color only)
* Add flush method to command buffers
* Better initial heuristic for memory buffer size based on target dimensions
2022-08-08 01:03:27 -04:00
Chad Brokaw 2e8be24fc9 fix fragment transform logic 2022-08-05 14:00:30 -04:00
Chad Brokaw d7773bf877 formatting 2022-07-16 16:49:18 -04:00
Chad Brokaw 2c258363ad restore tile.h to maintain sync with tile.rs 2022-07-16 16:48:04 -04:00
Chad Brokaw 8943fa7ea6 encode absolute transforms
This removes the GPU transform stage, changes shaders to reference transforms directly from the scene, and modifies the render context to maintain a transform stack.
2022-07-15 14:36:20 -04:00
Chad Brokaw e328bea0b8
Merge pull request #184 from dfrg/multi-surface
Separate Instance and Surface creation in HAL
2022-07-15 13:16:47 -04:00
Chad Brokaw d6ffe970f9 Make graphics support non-optional for Vulkan
This also removes the new present flag, deletes some commented code and explains the lack of surface validation in device selection.
2022-07-15 13:14:12 -04:00
Chad Brokaw fb952de1f3
Update piet-gpu/bin/android.rs
Co-authored-by: Raph Levien <raph.levien@gmail.com>
2022-07-15 12:49:40 -04:00
Chad Brokaw 007ec6cdc0 cargo fmt 2022-07-14 15:29:43 -04:00
Chad Brokaw f9bbb25a4b fix formatting 2022-07-14 15:08:18 -04:00
Chad Brokaw ffaf8b06a4 restore .gitignore 2022-07-14 15:07:29 -04:00
Chad Brokaw 58721dc5c2 fix new API use for android example 2022-07-14 15:03:27 -04:00
Chad Brokaw 8de34f8728 remove shader gen directories 2022-07-14 14:57:17 -04:00
Chad Brokaw af55dbfa4e make it work on mac/metal 2022-07-14 14:52:44 -04:00
Chad Brokaw 9626eaa19b separate instance and surface creation
This separates creation of Instance and Surfaces, allowing for rendering to multiple windows.
2022-07-14 14:46:46 -04:00
Commit by GitHub Action bbdd4432f5 commit compiled shaders 2022-07-14 14:28:45 +00:00
Commit by GitHub Action d529d3b0e8 merge from dev branch - dev 2022-07-14 14:28:25 +00:00
Raph Levien bfa4abf642
Merge pull request #181 from linebender/mem2
Implement robust dynamic memory
2022-07-14 07:27:38 -07:00
Raph Levien 78bdd08f01 Add ref_name to commit message 2022-07-14 07:25:18 -07:00
Commit by GitHub Action cac14a0aa7 merge from dev branch 2022-07-14 04:33:57 +00:00
Raph Levien d5b04a69dd
Merge pull request #183 from linebender/winit_0_26
Update winit to 0.26.1
2022-07-13 21:33:11 -07:00