Commit Graph

877 Commits

Author SHA1 Message Date
relrelb d2eb46d3be chore: Reserve capacity for vectors
This avoids unnecessary re-allocations and thus should improve
performance in both memory and time terms.
2021-07-20 16:25:23 -07:00
relrelb 87e9dda250 chore: Use from_le_bytes in more places 2021-07-09 19:56:52 +03:00
Adrian Wielgosik d9b5b1a0af desktop: Add DX11 to default graphics backends 2021-07-04 13:37:22 +02:00
dependabot[bot] 2d26e7ca59 chore: Bump svg from 0.9.2 to 0.10.0
Bumps [svg](https://github.com/bodoni/svg) from 0.9.2 to 0.10.0.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

---
updated-dependencies:
- dependency-name: svg
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-28 23:18:02 +02:00
dependabot[bot] e40f7b3474 chore: Bump wgpu from 0.8.1 to 0.9.0
Bumps [wgpu](https://github.com/gfx-rs/wgpu) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/gfx-rs/wgpu/releases)
- [Changelog](https://github.com/gfx-rs/wgpu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gfx-rs/wgpu/commits)

---
updated-dependencies:
- dependency-name: wgpu
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-20 03:13:12 -07:00
dependabot[bot] 12528e9f4f chore: Bump bytemuck from 1.5.1 to 1.7.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.5.1 to 1.7.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.5.1...v1.7.0)

---
updated-dependencies:
- dependency-name: bytemuck
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 00:47:13 -07:00
Mike Welsh 554aa7fd63 core: Add backend::render::BitmapSource trait
This interface handles returning a bitmap given an ID and is used
by the render backend to get the bitmap used for a bitmap fill.
This will allow for bitmap fills in the drawing API, as these will
manage their own list of bitmaps.
This also  removes the MovieLibrary dependency from render backends
and will allow for better decoupling in the future.
2021-06-13 20:03:53 -07:00
Mike Welsh d23ea90459 swf: Change Matrix to use Fixed16 for a, b, c, d
Matrices in an SWF file store their scale/skew components in
in 16.16 format (fbits).

Split `ruffle_core::Matrix` and `swf::Matrix`. `swf::Matrix` now
stores its data as `Fixed16` instead of immediately converting to
`f32`.
2021-06-08 14:57:15 -07:00
relrelb f82faf9603 chore: Appease clippy 2021-06-05 10:16:00 -07:00
dependabot[bot] 9b6b78fa1f chore: Bump svg from 0.9.1 to 0.9.2
Bumps [svg](https://github.com/bodoni/svg) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 09:59:59 -07:00
Mike Welsh 2b98c878f0 swf: Use Fixed in more places 2021-05-30 21:24:03 -07:00
Mike Welsh 1dd669a0e3 canvas: Fix alpha calculation in canvas renderer 2021-05-18 16:20:45 -07:00
dependabot[bot] 30f088d16f chore: Bump futures from 0.3.14 to 0.3.15
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.14 to 0.3.15.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.14...0.3.15)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-17 12:41:29 -07:00
dependabot[bot] 2be5f2bc7e chore: Bump enum-map from 1.1.0 to 1.1.1
Bumps [enum-map](https://gitlab.com/KonradBorowski/enum-map) from 1.1.0 to 1.1.1.
- [Release notes](https://gitlab.com/KonradBorowski/enum-map/tags)
- [Changelog](https://gitlab.com/KonradBorowski/enum-map/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/KonradBorowski/enum-map/commits/master)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-17 10:11:31 -07:00
dependabot[bot] dd5894ebd6 chore: Bump wgpu from 0.8.0 to 0.8.1
Bumps [wgpu](https://github.com/gfx-rs/wgpu-rs) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/gfx-rs/wgpu-rs/releases)
- [Changelog](https://github.com/gfx-rs/wgpu-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gfx-rs/wgpu-rs/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 10:16:10 -07:00
dependabot[bot] 8e91f8dc89 chore: Bump enum-map from 1.0.0 to 1.1.0
Bumps [enum-map](https://gitlab.com/KonradBorowski/enum-map) from 1.0.0 to 1.1.0.
- [Release notes](https://gitlab.com/KonradBorowski/enum-map/tags)
- [Changelog](https://gitlab.com/KonradBorowski/enum-map/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/KonradBorowski/enum-map/commits/master)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 10:15:58 -07:00
Mike Welsh c465e268bf chore: Bump to wgpu 0.8 2021-04-29 15:01:12 -07:00
Mike Welsh f0bea5d241 wgpu: Bump to latest master 2021-04-24 08:29:25 -07:00
Mike Welsh 0552d26551 core: Use Fixed8 and i16 for ColorTransform
Use the proper types for ColorTransform:
 * Fixed8 (8.8) format for multiplicative component
 * i16 format for additive component

This matches the behavior of Flash (for example, alpha only changes
in units of 1/256).
2021-04-19 15:47:52 -07:00
Mike Welsh bab2701208 web: Bump wasm-bindgen and js-sys versions 2021-04-16 23:37:23 -07:00
Mike Welsh b31b00c6d6 wgpu: Bump to latest wgpu master 2021-04-16 23:37:23 -07:00
relrelb 20d6fcc128 chore: Remove unnecessary type annotations 2021-04-10 18:39:16 -07:00
Adrian Wielgosik 35c127b58c canvas: Update_texture should update in-place, not insert 2021-04-10 14:26:33 -07:00
dependabot-preview[bot] 5739992f6e build(deps): bump futures from 0.3.13 to 0.3.14
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.13 to 0.3.14.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-10 13:27:27 -07:00
dependabot-preview[bot] 34637cdd12 build(deps): bump enum-map from 0.6.4 to 1.0.0
Bumps [enum-map](https://gitlab.com/KonradBorowski/enum-map) from 0.6.4 to 1.0.0.
- [Release notes](https://gitlab.com/KonradBorowski/enum-map/tags)
- [Changelog](https://gitlab.com/KonradBorowski/enum-map/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/KonradBorowski/enum-map/commits/master)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-08 11:53:06 -07:00
dependabot-preview[bot] 795fed2f18 build(deps): bump wgpu from 0.7.0 to 0.7.1
Bumps [wgpu](https://github.com/gfx-rs/wgpu-rs) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/gfx-rs/wgpu-rs/releases)
- [Changelog](https://github.com/gfx-rs/wgpu-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gfx-rs/wgpu-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-06 15:49:38 -06:00
relrelb 0063f40af9 webgl: Use bytemuck
This avoids unsafe code, and reduces code size a bit.
2021-03-27 01:59:02 -07:00
relrelb c953462b6d common_tess: Toss out degenerate draws
This is a reland of bfe57a3c66.
2021-03-23 16:16:35 -07:00
relrelb 15c1cf5bf6 chore: Appease clippy 2021-03-23 16:16:35 -07:00
relrelb 648e14e057 render: Final cleanups 2021-03-23 16:16:35 -07:00
relrelb c25b58058b wgpu: Inline some variables 2021-03-23 16:16:35 -07:00
relrelb 627773d0d4 wgpu: Use common_tess
This eliminates tons of duplicate code.
2021-03-23 16:16:35 -07:00
relrelb 947f566b1b webgl: Implement From<TessGradient> for Gradient 2021-03-23 16:16:35 -07:00
relrelb 398aa98d38 common_tess: Extract swf_gradient_to_uniforms 2021-03-23 16:16:35 -07:00
relrelb 0017f909a7 webgl: Small cleanup 2021-03-23 16:16:35 -07:00
relrelb e840dce803 common_tess: Make Vertex layout-agnostic
And define a specific layout in webgl instead.
This brings common_tess closer to serve wgpu (which has a different
Vertex layout).
2021-03-23 16:16:35 -07:00
relrelb 42f8baf5ed wgpu: Remove unused Mesh::shape_id 2021-03-23 16:16:35 -07:00
relrelb c1c9542a95 wgpu: Introduce ShapeTessellator temporarily
Eventually it'll be replaced with common_tess's one.
2021-03-23 16:16:35 -07:00
relrelb 4513a5fbda wgpu: Extract tessellate_shape from register_shape_internal
This brings us closer towards common_tess.
2021-03-23 16:16:35 -07:00
relrelb e1734a2bec wgpu: Inline IncompleteDrawType::build 2021-03-23 16:16:35 -07:00
relrelb 7410495a6c web: Fix repeating bitmap textures rendering 2021-03-10 20:48:16 -08:00
dependabot-preview[bot] 983686a33e build(deps): bump svg from 0.9.0 to 0.9.1
Bumps [svg](https://github.com/bodoni/svg) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-05 10:31:09 -08:00
dependabot-preview[bot] 98abaf4ca2 build(deps): bump image from 0.23.13 to 0.23.14
Bumps [image](https://github.com/image-rs/image) from 0.23.13 to 0.23.14.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.13...v0.23.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-02 16:22:31 -08:00
Mike Welsh e7d7e19c24 chore: Bump to wgpu 0.70 2021-02-27 17:52:05 -08:00
Mike Welsh 3099914374 chore: Appease clippy 2021-02-27 16:10:46 -08:00
dependabot-preview[bot] 091bc30876 build(deps): bump futures from 0.3.12 to 0.3.13
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.12 to 0.3.13.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.12...0.3.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-26 11:40:23 -08:00
dependabot-preview[bot] b62bf0e936 build(deps): bump bytemuck from 1.5.0 to 1.5.1
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.5.0...v1.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-17 22:38:58 -08:00
Aaron Hill e69503ee67
chore: Derive `Pod` and `Zeroable` traits from `bytemuck`
This removes all `unsafe` impls of `bytemuck` traits
2021-02-16 20:34:12 -08:00
Mike Welsh e5fb1f09e7 chore: Appease clippy
* #[derive(Collect)] should be before #[collect]
 * Replace redunant `&buf[..]` with `buf`
 * Changes most cases of UPPERCase to UpperCase
 * Allow upper_case_acronym on most SWF types, as they are from
   SWF spec/more annoying to change.
2021-02-12 06:32:42 -08:00
Mike Welsh 60f29719d3 core: Fix stroke artifacts when using drawing API
Some recent changes with lyon's API could cause Ruffle to draw extra
strokes when it sees two Move commands in a row -- an extra zero-length
stroke would appear. Let's merge adjacent Move commands in the
tessellator to avoid this issue.

(TODO: Add an example to visual_tests).
2021-02-05 14:54:55 -08:00
dependabot-preview[bot] a6132a504b build(deps): bump image from 0.23.12 to 0.23.13
Bumps [image](https://github.com/image-rs/image) from 0.23.12 to 0.23.13.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-02-04 11:21:41 -08:00
Mike Welsh 48e1afc054 webgl: Use highp precision when available
Fixes issues relating to text rendering (#900) and other artifacts
on iOS.
2021-02-02 16:14:15 -08:00
Mike Welsh a00d072eb1 chore: Appease clippy
Remove unused viewport_width/viewport_height from wgpu renderer.
2021-01-31 01:00:41 -08:00
dependabot-preview[bot] c98c8c5ced build(deps): bump lyon from 0.17.4 to 0.17.5
Bumps [lyon](https://github.com/nical/lyon) from 0.17.4 to 0.17.5.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-30 16:28:18 -08:00
dependabot-preview[bot] 047baa8d38 build(deps): bump svg from 0.8.2 to 0.9.0
Bumps [svg](https://github.com/bodoni/svg) from 0.8.2 to 0.9.0.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-29 11:42:46 -08:00
dependabot-preview[bot] 6f14490f84 build(deps): bump jpeg-decoder from 0.1.21 to 0.1.22
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.21 to 0.1.22.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/compare/v0.1.21...v0.1.22)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-29 11:42:19 -08:00
Mike Welsh 44bfd46bf9 chore: Lock wasm-bindgen and wasm-bindgen-cli to 0.2.69 2021-01-25 12:27:21 -08:00
dependabot-preview[bot] 239ccb3511 build(deps): bump jpeg-decoder from 0.1.20 to 0.1.21
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.20 to 0.1.21.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-24 11:52:39 -08:00
dependabot-preview[bot] ef428d95a7 build(deps): bump lyon from 0.17.3 to 0.17.4
Bumps [lyon](https://github.com/nical/lyon) from 0.17.3 to 0.17.4.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-23 19:08:26 -08:00
dependabot-preview[bot] 8bc64be012 build(deps): bump svg from 0.8.1 to 0.8.2
Bumps [svg](https://github.com/bodoni/svg) from 0.8.1 to 0.8.2.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-21 11:46:46 -08:00
dependabot-preview[bot] 77c3173227 build(deps): bump futures from 0.3.11 to 0.3.12
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.11 to 0.3.12.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.11...0.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-15 11:30:06 -08:00
Mike Welsh 09a48a71d8 render: Avoid asserts in masking state
Switch to debug_assert! instead of assert! in mask checks to avoid
panicking (#1347). This will render incorrectly and still needs
to be fixed, but we should fail gracefully and avoid killing the
entire player.
2021-01-14 14:18:14 -08:00
dependabot-preview[bot] fe4feb6b1c build(deps): bump futures from 0.3.10 to 0.3.11
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.10 to 0.3.11.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.10...0.3.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-14 12:51:40 -08:00
dependabot-preview[bot] e4d7e73ef1 build(deps): bump lyon from 0.17.1 to 0.17.3
Bumps [lyon](https://github.com/nical/lyon) from 0.17.1 to 0.17.3.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-14 03:04:25 -08:00
dependabot-preview[bot] 88355572f4 build(deps): bump bytemuck from 1.4.1 to 1.5.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.4.1...v1.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 16:38:54 -08:00
dependabot-preview[bot] 62799966fe build(deps): bump futures from 0.3.9 to 0.3.10
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.9 to 0.3.10.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.9...0.3.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-13 11:56:23 -08:00
MrCheeze c4f5b7aba0 chore: Bump wgpu-rs version to prevent dx11 resize crash 2021-01-10 15:11:34 -08:00
dependabot-preview[bot] 5606c02efd build(deps): bump svg from 0.8.0 to 0.8.1
Bumps [svg](https://github.com/bodoni/svg) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-10 13:00:07 -08:00
dependabot-preview[bot] ea9576f9d4 build(deps): bump futures from 0.3.8 to 0.3.9
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.8 to 0.3.9.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.8...0.3.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-01-08 12:08:30 -08:00
Mike Welsh 03b5edd4d1 render: Remove RenderBackend::draw_letterbox
Move letterbox draw logic to `Player`, using renderer.draw_rect
2021-01-07 11:46:07 -08:00
Mike Welsh 8d1d2efea4 webgl: Request OES_element_index_uint extension on WebGL1
Needed to support u32 index buffers.
2021-01-06 13:24:10 -08:00
Mike Welsh 0754f0a3b3 render: Use u32 indices 2021-01-04 18:08:14 -08:00
relrelb 9a8edda8a6 chore: Update lyon to 0.17.1 2021-01-04 18:08:14 -08:00
Mike Welsh 8cdf04384c webgl: Use mult color for draw_rect (fix #2189) 2020-12-31 15:20:37 -08:00
Mike Welsh 9b6295f33a render: Pass library to RenderBackend::register_shape (fix #2037)
Pass the movie library to `register_shape` methods so that bitmap
charcter IDs can be resolved immediately on the proper SWF.

This fixes #2037, which cause incorrect bitmaps to be used when
multiple movies were loaded.
2020-12-31 13:10:21 -08:00
Mike Welsh 6aafb46b49 desktop: Don't render while minimized
On desktop, don't render while the window is minimized.

In the wgpu backend, don't panic if swap chain fails to grab a
texture. Instead recreate the swap chain and bail on the current
frame.

Fixes panic when minimizing with the wgpu vulkan backend (#2065).
2020-12-28 16:00:13 -08:00
Mike Welsh 3ff6a37ff4 webgl: Make separate VAO for color quad vs. bitmap quad (fix #1834) 2020-12-27 23:01:24 -08:00
Mike Welsh 9e46757f5f chore: Bump to wgpu-rs master 2020-12-27 00:44:11 -08:00
Mike Welsh 1b77f0bc20 wgpu: Create bind group for textured quad for each bitmap
Instead of creating a new bind group each time a bitmap is rendered,
create a bind group for each bitmap when it is registered.
2020-12-27 00:44:11 -08:00
Mike Welsh f343aff502 wgpu: Use a single render pass and push constants
Switch to a single render pass for the whole frame, as opposed to
a render pass per draw call. This should be a large improvement to
performance. This currently requires some unsafe to work around a
self-reference between RenderPass and CommandEncoder in Frame;
this could eventually be cleaned up by changing RenderBackend
to return a Frame object instead of using begin_frame/end_frame
pairs.

Also switch to using push constants for the transform/color
uniforms.
2020-12-27 00:44:11 -08:00
Mike Welsh 8222d3095b desktop: Add --timedemo benchmark
Add --timedemo for benchmarking, which will run the given SWF as
quickly as possible for 5000 frames or the end of the root
timeline, whichever comes first. The total duration will be output
upon completion.
2020-12-26 23:59:12 -08:00
Mike Welsh 67d95e0c00 exporter: Fix panic when using --frames (fix #1614) 2020-12-26 20:39:44 -08:00
Mike Welsh 99cfdd4ea7 render: Avoid excessive clones in register_bitmap calls 2020-12-15 00:04:51 -08:00
Mike Welsh 369c5bda56 render: Implement Bitmap smoothing property 2020-12-15 00:04:51 -08:00
Mike Welsh 4d4cf3c025 wgpu: Don't recreate texture on update 2020-12-15 00:04:51 -08:00
Mike Welsh 69216b75fb webgl: Don't recreate texture on update 2020-12-15 00:04:51 -08:00
Mike Welsh acc9c84ccb webgl: Allow render_bitmap to work with bitmaps without a character ID 2020-12-15 00:04:51 -08:00
CUB3D 3556ffd778 chore: Fixes after rebase 2020-12-15 00:04:51 -08:00
CUB3D a92b8ffded core: All other changes from review 2020-12-15 00:04:51 -08:00
CUB3D ccd08f14d9 core: Fix naming and safety issues 2020-12-15 00:04:51 -08:00
CUB3D 6f91352d41 chore: Fix clippy lints 2020-12-15 00:04:51 -08:00
CUB3D b3dd5c0c0b core+renderer: Fix corner cases 2020-12-15 00:04:51 -08:00
CUB3D 353d5a268b core: Add better handling of invalid arguments to BitmapData 2020-12-15 00:04:51 -08:00
CUB3D 9d46d67588 core+web+renderer: Add load/attach Bitmap and handling for invalid args with BitmapData 2020-12-15 00:04:51 -08:00
relrelb e5ace596ce chore: Update some dependencies
* js-sys and wasm-bindgen are now the currently latest releases.
* wgpu is not updated to the current master because it breaks
things up.
2020-12-11 11:28:33 -08:00
dependabot-preview[bot] d1c79a5dd5 build(deps): bump png from 0.16.7 to 0.16.8
Bumps [png](https://github.com/image-rs/image-png) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-08 21:13:22 -08:00
Mike Welsh d27b46b3dc webgl: Clamp renderbuffer dimensions to sane values 2020-11-29 15:04:39 -08:00
Mike Welsh 53212f192c chore: Appease clippy, squelch unnecessary_wraps lint 2020-11-24 18:59:42 -08:00
Mike Welsh ad4714f3b3 render: Avoid assert from lyon with small miter limits 2020-11-20 00:29:23 -08:00
dependabot-preview[bot] 93c401286c build(deps): bump image from 0.23.11 to 0.23.12
Bumps [image](https://github.com/image-rs/image) from 0.23.11 to 0.23.12.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.11...v0.23.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-18 16:29:07 -08:00
dependabot-preview[bot] 60b287016b build(deps): bump futures from 0.3.7 to 0.3.8
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.7...0.3.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-09 10:47:25 -08:00
Mike Welsh 81da730eb4 wgpu: Resolve MSAA once at frame end (fix #1427) 2020-10-29 13:27:47 -07:00
dependabot-preview[bot] 37ead31b2a build(deps): bump image from 0.23.10 to 0.23.11
Bumps [image](https://github.com/image-rs/image) from 0.23.10 to 0.23.11.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 17:57:11 -07:00
Nathan Adams 8436be7d55 render: Mark the gradient buffer as readonly in wgpu renderer 2020-10-25 12:07:58 -07:00
Nathan Adams bf4ed7cc22 render: Fix logic for resolution changes 2020-10-23 13:02:27 -07:00
Nathan Adams 20ff951d5e render: Split off common mesh binds into a mesh bind group for wgpu renderer 2020-10-23 13:02:27 -07:00
Nathan Adams c0de319fd2 render: Split up bind groups from pipelines for wgpu shapes in prep for them being refactored further 2020-10-23 13:02:27 -07:00
dependabot-preview[bot] 29068b08b5 build(deps): bump futures from 0.3.6 to 0.3.7
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.6...0.3.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-23 12:54:27 -07:00
Nathan Adams bbd8fc768c render: Store view_matrix as a global in wgpu renderer, and only change it when changed 2020-10-17 04:16:24 -07:00
Nathan Adams a2d53df49c render: Store immutable part of wgpu rendering as a reusable object, to speed up exporting 2020-10-17 04:16:24 -07:00
Nathan Adams 4dd5fcfd6a render: Don't make a new sampler for each bitmap in wgpu renderer 2020-10-17 04:16:24 -07:00
Nathan Adams 7bd4590fc2 render: Remove unused register_encoder from wgpu. There's a built in staging encoder now. 2020-10-17 04:16:24 -07:00
Mike Welsh 89c1378569 wgpu: Use premultiplied alpha for bitmaps 2020-10-17 02:42:56 -07:00
Mike Welsh 4558be948e render: Fix masking issues on wgpu/webgl backends
Change the usage of the stencil buffer to avoid running out of
stencil bits when too many nested masks are active.

This also cleans things up on wgpu which requires us to make
pipeline states in advice; now we only need a few stencil states
for masking as opposed to hundreds.
2020-10-17 02:42:56 -07:00
Nathan Adams 3f46567fc1 render: Remove PowerPreference::Default as it's no longer in wgpu 2020-10-14 13:59:25 -07:00
Nathan Adams a2593b0d52 desktop: Expose wgpu tracing through a `render_trace` feature and `--trace-path` argument 2020-10-14 13:59:25 -07:00
Nathan Adams 900553818a exporter: Expose wgpu tracing through a `render_trace` feature and `--trace-path` argument 2020-10-14 13:59:25 -07:00
Nathan Adams b68caebc23 render: Update wgpu to e3eadca8c6 2020-10-14 13:59:25 -07:00
Mike Welsh 253c231788 webgl: Don't panic when trying to draw unregistered bitmap
Avoids a panic in #1248.
2020-10-11 02:47:57 -07:00
Nathan Adams 536352a0d3 render: Move wgpu options out from desktop and into wgpu render crate 2020-10-10 13:43:18 -07:00
dependabot-preview[bot] 5f6e3ca3d4 build(deps): bump futures from 0.3.5 to 0.3.6
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 13:47:58 -07:00
dependabot-preview[bot] 238a1f1aa1 build(deps): bump base64 from 0.12.3 to 0.13.0
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.12.3 to 0.13.0.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.12.3...v0.13.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-30 15:46:55 -07:00
Mike Welsh 3ddfd516d5 webgl: Set uniforms for all gradient colors
Was mistakenly not uploading all colors. Fixes #1240.
2020-09-29 14:02:25 -07:00
dependabot-preview[bot] b6f05ecf41 build(deps): bump lyon from 0.16.0 to 0.16.2
Bumps [lyon](https://github.com/nical/lyon) from 0.16.0 to 0.16.2.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-29 05:25:14 -07:00
dependabot-preview[bot] a8876ada34 build(deps): bump image from 0.23.9 to 0.23.10
Bumps [image](https://github.com/image-rs/image) from 0.23.9 to 0.23.10.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-29 04:50:53 -07:00
Mike Welsh 313b02d24f webgl: Fall back to canvas if not using hardware acceleration
Display WebGL driver info, detect whether hardware acceleration
is enabled, and fall back to the canvas backend in this case.
2020-09-25 01:22:21 -07:00
Mike Welsh b908b027a9 webgl: Handle errors in renderbuffer creation 2020-09-25 01:22:21 -07:00
Mike Welsh b8f9c5b0a3 webgl: Respect MAX_SAMPLES when creating MSAA buffers 2020-09-25 01:22:21 -07:00
Mike Welsh 816272e46b webgl: Bump max gradient count to 15 2020-09-24 22:55:17 -07:00
Luca Weiss d5cb396331 *: fix spelling mistakes 2020-09-19 16:17:58 -07:00
Nathan Adams e008603426 core: Add draw_rect to the render backend API 2020-09-17 16:03:16 -07:00
Mike Welsh 4190b1fc14 render: Backends use shape_utils::swf_glyph_to_shape 2020-09-15 02:34:32 -07:00
dependabot-preview[bot] 5a85558135 build(deps): bump web-sys from 0.3.44 to 0.3.45
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.44 to 0.3.45.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-11 18:29:47 -07:00
dependabot-preview[bot] 644a9107a1 build(deps): bump js-sys from 0.3.44 to 0.3.45
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.44 to 0.3.45.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 11:00:07 -07:00
dependabot-preview[bot] 374840e4e5 build(deps): bump bytemuck from 1.4.0 to 1.4.1
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.4.0...v1.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-09 10:46:26 -07:00
dependabot-preview[bot] 97968ab0a0 build(deps): bump image from 0.23.8 to 0.23.9
Bumps [image](https://github.com/image-rs/image) from 0.23.8 to 0.23.9.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.8...v0.23.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-02 12:08:51 -07:00
Nathan Adams 7273c85034 desktop: Add --power (or -p) option for choosing a graphics power preference (high for dedicated gpu, low for integrated, default for situational best) 2020-09-02 12:06:25 -07:00
Nathan Adams 3e09767c7a desktop: Add --graphics (or -g) option for choosing a graphics backend (vulkan/metal/dx12/dx11 right now) 2020-09-02 12:06:25 -07:00
Nathan Adams a191c79fca render: Workaround wgpu write-only stencil testing issue - fixes #1062 2020-08-31 05:45:42 -07:00
dependabot-preview[bot] 8943623618 build(deps): bump bytemuck from 1.3.1 to 1.4.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.3.1...v1.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-28 13:14:35 -07:00
Nathan Adams 0b93e76a27 render: Add more debug labels to wgpu renderer 2020-08-27 11:02:28 -07:00
Nathan Adams 34fc3c574b render: Update wgpu to 0.6 2020-08-27 11:02:28 -07:00
dependabot-preview[bot] d05a8af32b build(deps): bump lyon from 0.15.9 to 0.16.0
Bumps [lyon](https://github.com/nical/lyon) from 0.15.9 to 0.16.0.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 11:32:00 -07:00
dependabot-preview[bot] 7017584cf6 build(deps): bump web-sys from 0.3.42 to 0.3.44
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.42 to 0.3.44.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 01:09:48 -07:00
dependabot-preview[bot] 76ae11c979 build(deps): bump js-sys from 0.3.42 to 0.3.44
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.42 to 0.3.44.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-29 10:42:25 -07:00
dependabot-preview[bot] e8214f2305 build(deps): bump image from 0.23.7 to 0.23.8
Bumps [image](https://github.com/image-rs/image) from 0.23.7 to 0.23.8.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.7...v0.23.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 05:01:54 -07:00
dependabot-preview[bot] 938a129a49 build(deps): bump bytemuck from 1.3.0 to 1.3.1
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/commits/v1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 03:16:49 -07:00
dependabot-preview[bot] c3127c0506 build(deps): bump bytemuck from 1.2.0 to 1.3.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases)
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md)
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.2.0...v1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 20:10:56 -07:00
dependabot-preview[bot] 0bd7f07649 build(deps): bump png from 0.16.6 to 0.16.7
Bumps [png](https://github.com/image-rs/image-png) from 0.16.6 to 0.16.7.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.6...v0.16.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-18 12:36:46 -07:00
dependabot-preview[bot] 182c9ed869 build(deps): bump web-sys from 0.3.41 to 0.3.42
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.41 to 0.3.42.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 16:40:47 -07:00
dependabot-preview[bot] 7dd26bf771 build(deps): bump js-sys from 0.3.41 to 0.3.42
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.41 to 0.3.42.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 11:52:53 -07:00
dependabot-preview[bot] b1f704b415 build(deps): bump wasm-bindgen from 0.2.64 to 0.2.65
Bumps [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) from 0.2.64 to 0.2.65.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.64...0.2.65)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 11:51:09 -07:00
dependabot-preview[bot] c353d1f079 build(deps): bump image from 0.23.6 to 0.23.7
Bumps [image](https://github.com/image-rs/image) from 0.23.6 to 0.23.7.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.6...v0.23.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-12 15:12:48 -07:00
dependabot-preview[bot] 31e816bf52 build(deps): bump lyon from 0.15.8 to 0.15.9
Bumps [lyon](https://github.com/nical/lyon) from 0.15.8 to 0.15.9.
- [Release notes](https://github.com/nical/lyon/releases)
- [Changelog](https://github.com/nical/lyon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nical/lyon/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-05 13:51:54 -07:00
dependabot-preview[bot] 328246dc10 build(deps): bump jpeg-decoder from 0.1.19 to 0.1.20
Bumps [jpeg-decoder](https://github.com/image-rs/jpeg-decoder) from 0.1.19 to 0.1.20.
- [Release notes](https://github.com/image-rs/jpeg-decoder/releases)
- [Changelog](https://github.com/image-rs/jpeg-decoder/blob/master/CHANGELOG.md)
- [Commits](https://github.com/image-rs/jpeg-decoder/compare/v0.1.19...v0.1.20)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-04 15:29:45 -07:00
Mike Welsh 03883a6be0 chore: Bump wasm-bindgen, js-sys, web-sys 2020-06-30 17:19:42 -07:00
dependabot-preview[bot] 82a86d6139 build(deps): bump png from 0.16.5 to 0.16.6
Bumps [png](https://github.com/image-rs/image-png) from 0.16.5 to 0.16.6.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-27 16:08:11 -07:00
Mike Welsh 81d75c6256
text: Text formatting for EditText fields (merge #615)
First implementation of HTML parsing and formatting for text fields.
2020-06-24 23:06:11 -07:00
dependabot-preview[bot] 045f6b3c64
build(deps): bump base64 from 0.12.2 to 0.12.3
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.12.2 to 0.12.3.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.12.2...v0.12.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-25 02:56:15 +00:00
Mike Welsh 7d1b3f86f5 render: Filter out consecutive MoveTo drawing commands
lyon would emit a small line segment if a stroke path had
consective MoveTo commands. For the lyon backends, filter out
consecutive MoveTos and only emit the final MoveTo command.

This fixes a small dot appearing in text fields using underlines.
2020-06-24 14:09:10 -07:00
dependabot-preview[bot] abeece7e78 build(deps): bump image from 0.23.5 to 0.23.6
Bumps [image](https://github.com/image-rs/image) from 0.23.5 to 0.23.6.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.5...v0.23.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-20 13:29:30 -07:00
dependabot-preview[bot] a472005f1b build(deps): bump base64 from 0.12.1 to 0.12.2
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.12.1 to 0.12.2.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/compare/v0.12.1...v0.12.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-15 16:54:03 -07:00
dependabot-preview[bot] fcea6012bb build(deps): bump png from 0.16.4 to 0.16.5
Bumps [png](https://github.com/image-rs/image-png) from 0.16.4 to 0.16.5.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.4...v0.16.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-13 18:52:24 -07:00
dependabot-preview[bot] 7793b1a188 build(deps): bump image from 0.23.4 to 0.23.5
Bumps [image](https://github.com/image-rs/image) from 0.23.4 to 0.23.5.
- [Release notes](https://github.com/image-rs/image/releases)
- [Changelog](https://github.com/image-rs/image/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image/compare/v0.23.4...v0.23.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-10 17:04:52 -07:00
dependabot-preview[bot] cf4df4058f build(deps): bump png from 0.16.3 to 0.16.4
Bumps [png](https://github.com/image-rs/image-png) from 0.16.3 to 0.16.4.
- [Release notes](https://github.com/image-rs/image-png/releases)
- [Changelog](https://github.com/image-rs/image-png/blob/master/CHANGES.md)
- [Commits](https://github.com/image-rs/image-png/compare/v0.16.3...v0.16.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 12:23:21 -07:00
dependabot-preview[bot] fea9257205 build(deps): bump web-sys from 0.3.39 to 0.3.40
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen) from 0.3.39 to 0.3.40.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 09:40:58 -07:00
Nathan Adams df6764a69c chore: Add license metadata to all packages & crates 2020-05-27 00:11:02 -07:00
Mike Welsh 92c764cfab canvas: Implement gradient spread modes 2020-05-22 11:03:16 -07:00
Mike Welsh b8b53817c8 canvas: Implement linear RGB gradients 2020-05-22 11:03:16 -07:00
Mike Welsh 103c7a98f0 wgpu: Implement linear RGB gradients 2020-05-22 11:03:16 -07:00
Mike Welsh 09ca11f788 webgl: Implement linear RGB gradients 2020-05-22 11:03:16 -07:00
Nathan Adams eda862c719 swf: Merged core::Matrix into swf::Matrix 2020-05-20 14:54:41 +02:00
Nathan Adams 7ab6703fc9 render: Add RenderBackend::replace_shape method 2020-05-20 14:54:40 +02:00
Nathan Adams f7b5f14f65 core: Make RenderBack::register_bitmap* methods return a Result (fixes #531) 2020-05-19 07:12:36 -07:00
Mike Welsh 3b550a111f wgpu: Hook up gradient spread mode and focal point 2020-05-15 00:13:36 -07:00
Nathan Adams 4cbae59947 render: Give a useful error message if running without a compatible graphics device (#588) 2020-05-14 21:38:12 -07:00
Nathan Adams 0047546074 render: Ensure that the wgpu device is compatible with the window we're
going to render to
2020-05-14 21:38:12 -07:00
dependabot-preview[bot] 1f0e695465 build(deps): bump fnv from 1.0.6 to 1.0.7
Bumps [fnv](https://github.com/servo/rust-fnv) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/servo/rust-fnv/releases)
- [Commits](https://github.com/servo/rust-fnv/compare/v1.0.6...v1.0.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-14 19:05:48 +00:00
Nathan Adams 4f5e9cca1f render: Fix wgpu captures being the wrong image format 2020-05-14 01:19:23 -07:00
Mike Welsh 5d84d33710 render: Handle PNG data in DefineBitsJPEG tags (fix #530) 2020-05-13 00:15:09 -07:00
Nathan Adams fe4676a185 renderer: Don't crash when encountering unknown bitmap_fills 2020-05-11 01:09:07 -07:00
Nathan Adams 1bde973615 render: Use Rc<> for wgpu device and queue, so we can reuse them 2020-05-11 01:09:07 -07:00
Nathan Adams 9ab03b4da6 exporter: Added exporter tool for capturing images of swfs (related to #523) 2020-05-11 01:09:07 -07:00
Nathan Adams 2343074c56 core: Make RenderBackend downcastable 2020-05-11 01:09:07 -07:00
Nathan Adams a4905536b9 render: Add texture target for wgpu render backend 2020-05-11 01:09:07 -07:00
Nathan Adams 84b274618e render: Made wgpu renderer agnostic to if it's going to a window, prep for output-to-buffer 2020-05-11 01:09:07 -07:00
Nathan Adams 1aa3e423d7 render: Changed gradient uniform in wgpu shader to a SSBO instead of UBO, saving 192 bytes on each buffer 2020-05-10 23:48:11 -07:00
Nathan Adams 89202cd8db render: Prefer dedicated GPU over integrated GPU 2020-05-10 23:48:11 -07:00
Nathan Adams dcf845b26c render: Don't submit a command buffer for every image upload to wgpu 2020-05-10 23:48:11 -07:00
Nathan Adams c787e28fcd render: Introduce a DistilledShape and use that instead of swf::Shape for the rendering API 2020-05-10 22:03:56 -07:00
Nathan Adams 601715aa19 render: Merge begin_frame and clear as they're always called together 2020-05-10 22:03:56 -07:00
dependabot-preview[bot] 96d433eadb build(deps): bump base64 from 0.12.0 to 0.12.1
Bumps [base64](https://github.com/marshallpierce/rust-base64) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/marshallpierce/rust-base64/releases)
- [Changelog](https://github.com/marshallpierce/rust-base64/blob/master/RELEASE-NOTES.md)
- [Commits](https://github.com/marshallpierce/rust-base64/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 03:11:58 +00:00
Nathan Adams bac99368be chore: Fix new clippy lints about cloning 2020-05-10 03:29:25 -07:00
dependabot-preview[bot] 4abab576a1 build(deps): bump futures from 0.3.4 to 0.3.5
Bumps [futures](https://github.com/rust-lang/futures-rs) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.4...0.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-10 10:28:44 +00:00
Nathan Adams 47a44a5fe8 desktop: Prime window with known width/height of the movie 2020-05-04 16:07:38 -07:00
Mike Welsh cde7798ded webgl: Default MSAA to 4x, 2x on mobile/tablets
Also ensure we clamp MSAA at maximum available, in case the sample
count is not supported by the device.
2020-05-02 10:41:09 -07:00
Mike Welsh 6221065391 webgl: Store vertex attribute location per program 2020-05-02 10:39:40 -07:00
Mike Welsh caf421144a webgl: Don't change wrapping mode in WebGL1 2020-05-02 10:39:40 -07:00
Mike Welsh e58cca3287 webgl: Add WebGL2 MSAA support 2020-05-02 10:39:38 -07:00
Mike Welsh 23a42d4d8c webgl: Fix gradients
Tweak common_tess to return a more generic gradient type.
2020-05-02 10:38:55 -07:00
Mike Welsh bfe14c2eaf webgl: Add VAO support 2020-05-02 10:38:20 -07:00
Mike Welsh 9583b51ddb webgl: Use u32 for vertex color 2020-05-02 10:38:20 -07:00
Mike Welsh bc85c0d92e webgl: Avoid redundant WebGL state calls 2020-05-02 10:38:20 -07:00
Mike Welsh 5f45b25f27 webgl: Create a WebGL2 context when available 2020-05-02 10:38:20 -07:00
Mike Welsh d440328f1f webgl: Set more context attributes on creation 2020-05-02 10:38:20 -07:00
Mike Welsh fa5c09b0cd web: Add WebGL render backend 2020-05-02 10:38:18 -07:00
Mike Welsh 5ead49a067 wgpu: Clamp minimum framebuffer size to 1 to avoid panic 2020-05-02 08:44:15 -07:00
Mike Welsh 6339c74d67
render: Add wgpu backend (merge #527)
Adds a wgpu-rs render backend.
2020-05-02 03:42:05 -07:00
Mike Welsh bfe57a3c66 wgpu: Toss out degenerate draws
wgpu would panic in this case, so filter out draws with < 3 indices.
2020-04-30 20:02:11 -07:00
Mike Welsh beb0eba3a3 chore: WGPURenderBackend -> WgpuRenderBackend 2020-04-30 20:00:07 -07:00
Mike Welsh 552ddd531b wgpu: Add MSAA support (default to 4x for now) 2020-04-30 19:56:07 -07:00
Nathan Adams 760677a2a1 render: Add From<ColorTransform> for ColorAdjustments uniforms 2020-04-30 16:40:08 +02:00
Nathan Adams 99d15aef0d render: Cache color transforms in wgpu backend, don't re-upload unchanged values 2020-04-30 16:33:41 +02:00
Nathan Adams 90195340c3 render: Implement letterbox on wgpu renderer 2020-04-30 16:15:35 +02:00
dependabot-preview[bot] a4961fc72b build(deps): bump svg from 0.7.2 to 0.8.0
Bumps [svg](https://github.com/bodoni/svg) from 0.7.2 to 0.8.0.
- [Release notes](https://github.com/bodoni/svg/releases)
- [Commits](https://github.com/bodoni/svg/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-30 08:46:32 +00:00
Nathan Adams 9599b2d09f render: Move some loose utility functions to utils.rs in wgpu renderer 2020-04-30 08:48:34 +02:00
Nathan Adams f4abf4b705 render: Split off shape/mesh code into its own file in wgpu renderer 2020-04-30 08:48:34 +02:00
Nathan Adams 1879d7f29e render: Implement render_bitmap for wgpu renderer 2020-04-30 08:48:34 +02:00
Nathan Adams 36d9d3ce4a render: Implement masks in wgpu renderer 2020-04-30 08:48:34 +02:00
Nathan Adams bdaf86dc3b render: Add Pipelines struct to group together wgpu pipelines 2020-04-30 08:48:34 +02:00
Nathan Adams dd1fa2700f render: Split off macros & pipeline creation from wgpu renderer 2020-04-30 08:48:34 +02:00
Nathan Adams c42333e254 render: Added feature render_debug_labels to enable debugging and profiling of wgpu renderer in external tools 2020-04-30 08:48:34 +02:00
Nathan Adams c2290ed5ef render: Remove dependency on winit from wgpu renderer 2020-04-30 08:48:33 +02:00
Nathan Adams f0445d94b8 render: Add wgpu-rs based renderer, used by desktop 2020-04-30 08:48:33 +02:00
Mike Welsh 834756c167 render: Separate tesselation code into render/common_tess 2020-04-29 23:26:41 -07:00
Mike Welsh 6fb0046bd3 render: Move Glium renderer to separate subcrate 2020-04-29 23:26:41 -07:00
Mike Welsh 87bf0f44c4 render: Move canvas renderer to separate subcrate 2020-04-29 23:26:41 -07:00