Commit graph

912 commits

Author SHA1 Message Date
Alex Janka 3da4ccecae bigger size 2023-08-10 20:01:01 +10:00
Chad Brokaw 9d7c4f00d8
rev fello (again) (#353) 2023-08-07 17:07:45 -04:00
Chad Brokaw 3cb54627de
Merge pull request #352 from linebender/update-fello
Update fello version
2023-08-07 01:08:28 -04:00
Chad Brokaw 5ee5eb69d5 Update fello version
This brings in experimental CFF/CFF2 support.
2023-08-06 23:59:40 -04:00
Bruce Mitchener fba1b46971 Update to wgpu 0.17. 2023-08-05 07:25:14 +07:00
Bruce Mitchener 6a82732435 Add license to vello-encoding, vello-shaders. 2023-08-01 21:39:17 +07:00
Bruce Mitchener 4a7d3285d6 deps: with_winit: Update notify-debouncer-mini and console-log. 2023-07-27 22:05:36 +07:00
Bruce Mitchener 0c9f5eee7d
Merge pull request #349 from waywardmonkeys/spdx-2.1-license-expression
Use SPDX 2.1 license expression.
2023-07-25 23:33:37 +07:00
Bruce Mitchener 3dd62a56e1 Use SPDX 2.1 license expression.
This improves the usage of automated tooling which consumes the
license information.
2023-07-23 10:56:53 +07:00
Spencer C. Imbleau, M.Sc. (he/him) 022f586944
Merge pull request #348 from linebender/simbleau-patch-1
Fixed link typo
2023-07-21 09:30:12 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 74ddb507e6
Fixed link typo 2023-07-21 09:13:22 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 4236704f97
Merge pull request #347 from linebender/simbleau-readme-update2
Add bevy_vello in README integrations
2023-07-21 09:11:40 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 749660da34
Update README.md 2023-07-21 09:05:18 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 6e11fab286
Merge branch 'main' into simbleau-readme-update2 2023-07-21 09:03:58 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 31a22e4d9e
Update README.md 2023-07-21 09:03:07 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 3f1389226a
Update README.md 2023-07-20 20:10:29 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 5b96e02012
Merge pull request #346 from linebender/simbleau-readme-update
Add Velato in README integrations
2023-07-20 20:09:06 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 6bdf2fdc27
Add bevy_vello in README integrations 2023-07-20 19:27:52 -04:00
Spencer C. Imbleau, M.Sc. (he/him) 3058c17618
Add Velato in README integrations 2023-07-20 14:13:34 -04:00
Bruce Mitchener 6e9b5c092f
Merge pull request #343 from waywardmonkeys/update-bevy-example
with_bevy: Update to bevy 0.11 release.
2023-07-20 23:27:12 +07:00
Bruce Mitchener e84138b6dd
Merge pull request #345 from waywardmonkeys/update-usvg-some
deps: Update usvg to 0.33 from 0.29
2023-07-20 23:20:58 +07:00
Bruce Mitchener a66e94f7b9 deps: Update usvg to 0.33 from 0.29
This is not the latest version currently available, but the
changes to update to 0.34 are more involved, so we'll do
this intermediate step now.
2023-07-18 10:58:37 +07:00
Bruce Mitchener b37b5a3ef1
Merge pull request #340 from waywardmonkeys/use-naga-release-crate
vello_shaders: Use naga 0.12, not git rev.
2023-07-13 23:03:09 +07:00
Bruce Mitchener 3b3d369508 with_bevy: Update to bevy 0.11 release.
* Use `add_plugins` as `add_plugin` is deprecated.
* Use `world.resource` instead of unwrapping `world.get_resource`
  as it gives better error messages.
* Add the `VelloRenderer` to the render app in the `finish` method
  as the `Renderer` is async and may not have initialized by the
  time that the Vello plugin is being set up.
2023-07-10 13:06:41 +07:00
Bruce Mitchener 929d727380
Merge pull request #341 from waywardmonkeys/improve-ci
ci: Update to actions/checkout@v3.
2023-07-07 23:45:18 +07:00
Bruce Mitchener 2611452ff4 ci: Update to actions/checkout@v3. 2023-07-07 23:08:34 +07:00
Bruce Mitchener 459bf0fc98
Merge pull request #338 from waywardmonkeys/remove-unused-deps
Remove direct dep on parking_lot, smallvec.
2023-07-06 23:09:30 +07:00
Bruce Mitchener ed8da9beec
Merge pull request #339 from waywardmonkeys/headless-can-use-workspace-pollster
headless: Use pollster from workspace.
2023-07-06 23:03:19 +07:00
Bruce Mitchener 75b27d65f5 vello_shaders: Use naga 0.12, not git rev.
The git revision being used was from `0.11` while the current
release is `0.12`. `0.12` is used in `wgpu`, so this lets us
have a single `naga` crate being built.
2023-07-05 10:18:50 +07:00
Bruce Mitchener ccd745364a Remove direct dep on parking_lot, smallvec.
Both of these are used transitively, but not directly by `vello`,
so we don't need to list them here.
2023-07-03 16:42:14 +07:00
Bruce Mitchener c005e1b188 headless: Use pollster from workspace.
This prevents having 2 versions of `pollster` pulled into the workspace.
The workspace provided `pollster` `0.3`, while `headless` was still
using `0.2.5`.
2023-07-03 16:41:48 +07:00
Raph Levien 31f8d9ffa0
Merge pull request #336 from linebender/fix_json
Fix invalid settings JSON
2023-06-29 11:37:14 -07:00
Raph Levien a860979f28 Fix invalid settings JSON 2023-06-29 09:07:58 -07:00
Arman Uguray 443539891c
Merge pull request #335 from armansito/fix-clip-bug
Correctly handle disjoint bounding-box intersections in binning
2023-06-28 20:59:31 -07:00
Arman Uguray 2c46228d06 [binning] Correctly handle disjoint bounding-box intersections
When the bounding boxes of a path and its clip are disjoint (i.e. they
do not intersect) the result of their intersection is a negative
rectangle.

When calculating the intersection of the bboxes, the binning stage
ensures that the bbox is non-negative. It then normalizes the
coordinates to bin dimensions and rounds the top-left corner down
to the neareast integer and the bottom-right corner up.

However this rounding causes zero-area bounding boxes to have a non-zero
area and sends the bottom-right corner to the placed in the next bin.
This causes fully clipped out draw objects to be included in binning,
with an incorrect clip bounding box that causes them to be erroneously
drawn with partial clipping.

`binning` now takes care around this logic to make sure that a zero-area
intersected-bbox gets skipped and clipped out. `tile_alloc`, also takes
care in its logic.

Fixes #286 and #333
2023-06-28 20:42:52 -07:00
Arman Uguray cf25068795 [test_scenes] Add test scenes that demonstrate incorrect clipping
Added a test scene that demonstrates the clipping bugs reported in
vello#286 and vello#333.
2023-06-28 18:38:44 -07:00
Arman Uguray 12e764d58d
Merge pull request #329 from armansito/draw-monoid-overrun
[draw_leaf] Guard against invalid reads of drawtags and bad writes to draw monoids.
2023-06-28 13:22:47 -07:00
Arman Uguray 1dea6c0ef0 Fix invalid buffer access errors caught by shader validation
Fixed several other shader validation errors caught when running
vello_shaders natively on Metal.

These were primarily caused by reading an invalid drawtag while
accessing the scene buffer. Scene buffer access in the offending
pipelines now initialize the draw tag to DRAWTAG_NOP if an
invocation ID would land beyond the valid index range of encoded draw
objects.
2023-06-28 12:59:21 -07:00
Arman Uguray a016fc19de [draw_leaf] Don't write past the end of the draw_monoids buffer
The number of global invocations for draw_leaf can exceed the size of
the draw_monoids buffer which gets conservatively set to the number of
draw objects. Added an explicit bounds check to prevent the invalid
write.

This is not an issue when targeting wgpu as the WGSL compiler emits
implicit bounds checking. When targeting Metal, we disable implicit
bounds checks as that requires an extra buffer binding containing buffer
sizes.

This was caught by Xcode's Metal shader validation and resulted in
visual artifacts in native rendering.
2023-06-28 12:39:24 -07:00
Daniel McNab 8ded5ac7dc
Remove gitattributes - linguist supports WGSL (#332)
https://github.com/github-linguist/linguist/pull/6449
2023-06-22 16:05:23 +01:00
Daniel McNab 6d57093cc2
Add GPU profiling (#304)
* Add GPU profiling

* Fix conditional compilation for `headless`

* Add full profiling

* Productionise

* Fix MacOS trace file

* Try to make it easier to tell what's important

* Resolve CI issues
2023-06-01 16:10:27 +01:00
Raph Levien 03545e5d9a
Merge pull request #314 from linebender/failure
A bit of polishing on the demo
2023-06-01 07:25:04 -07:00
Raph Levien 4fcc348940 Change to caniuse for webgpu 2023-06-01 06:59:53 -07:00
Raph Levien 6ed6e4a940 Address review feedback 2023-05-31 17:44:57 -07:00
Raph Levien f60cb0c31b Merge branch 'main' into failure 2023-05-31 17:37:43 -07:00
Raph Levien ea224b459c
Merge pull request #325 from linebender/warnings
Quiet warnings
2023-05-21 09:19:19 -07:00
Raph Levien bfccd006e9
Tweak features for cargo check
Co-authored-by: Daniel McNab <36049421+DJMcNab@users.noreply.github.com>
2023-05-20 12:35:55 -07:00
Raph Levien 6fb757266e Add dependencies
I wasn't sure the linux dependencies were needed just for a clippy check, but apparently so.
2023-05-18 16:18:42 -07:00
Raph Levien 3774928b24 Enforce clippy lints
This turns on clippy checking and also fixes all lints in the code.

Many lints are obvious improvements. Only a small number are slightly annoying, so I think overall worth having a vanilla default config.
2023-05-18 16:13:32 -07:00
Raph Levien 8eb02ce330 Suppress one more warning in wasm case 2023-05-18 15:45:44 -07:00