Nathan Adams
14ecc98780
wgpu: Pass quad vbo/ibo as slices
2022-09-11 09:07:53 +02:00
Nathan Adams
09172c8b12
wgpu: Simplified rendering code down to 'apply transform, draw x'
2022-09-11 09:07:53 +02:00
Nathan Adams
5f671c0018
wgpu: Fixed panic if rendering to a texture smaller than 1x1
2022-09-11 09:07:53 +02:00
Nathan Adams
d5ab88f40d
wgpu: Make buffer blocks Pin<Box<Block>>
2022-09-11 09:07:53 +02:00
Nathan Adams
08471c6fb7
wgpu: Don't keep setting globals bind group, it only needs to be set once
2022-09-11 09:07:53 +02:00
Nathan Adams
41239039eb
wgpu: Moved all bind group layouts into their own struct
2022-09-11 09:07:53 +02:00
Nathan Adams
f33e6904cd
wgpu: Moved bind layouts out of Pipelines, they don't change
2022-09-11 09:07:53 +02:00
Nathan Adams
39e1224bda
wgpu: Don't recompile shaders for each Pipelines
2022-09-11 09:07:53 +02:00
Nathan Adams
7e013183a7
wgpu: Removed Descriptors::pipelines, we don't need 3 pipelines
2022-09-11 09:07:53 +02:00
Nathan Adams
8b6c6f8a62
wgpu: Removed DescriptorsTargetData::surface_format and frame_buffer_format as they aren't needed to be target specific
2022-09-11 09:07:53 +02:00
Nathan Adams
6755e1ccbd
wgpu: Pass the pipelines to frame instead of deciding based on a macro
2022-09-11 09:07:53 +02:00
Nathan Adams
13657e16ca
wgpu: Make render_offscreen use its own Frame instead of making a whole new renderer backend
2022-09-11 09:07:53 +02:00
Nathan Adams
697369536c
wgpu: Split off code that actually renders a frame
2022-09-11 09:07:53 +02:00
Nathan Adams
267ea0fd13
render: Introduced render commands, moved to a command list model instead of direct rendering
2022-09-11 09:07:53 +02:00
Nathan Adams
c7f420dde5
wgpu: Moved WgpuRenderBackend into backend.rs
2022-09-11 09:07:53 +02:00
Nathan Adams
70d96654d7
wgpu: Move descriptors out into its own file
2022-09-11 09:07:53 +02:00
Aaron Hill
2f81f5814d
render: Add `premultiplied_alpha` parameter for image capture
...
When rendering offscreen, we want the resulting image to use
premultiplied alpha, since the image will be stored in a texture.
However, when capturing an image in the exporter or test framework,
we want to use straight alpha, so that the resulting image can
be saved as a PNG.
Previously, we incorrectly used straight alpha everywhere, resulting
in incorrect output when using BitmapData.draw with transparency.
2022-09-09 15:46:48 -07:00
Aaron Hill
93607aa86e
avm2: Implement `BitmapData.draw` for `wgpu` backend ( #7254 )
...
* avm2: Implement `BitmapData.draw` for `wgpu` backend
This method requires us to have the ability to render directly to a
texture. Fortunately, the `wgpu` backend already supports this in
the form of `TextureTarget`. However, the rendering code required
some refactoring in order to avoid creating duplicate `wgpu` resources.
The current implementation blocks on copying the pixels back
from the GPU to the CPU, so that we can immediately set them in
the Ruffle `BitmapData`. This is likely very inefficient, but will
work for a first implementation.
In the future, we could explore allowing the CPU image data and GPU
texture to be out of sync, and only synchronized when explicitly
necessary (e.g. on `getPixel` or `setPixel` calls).
* Rename `with_offscreen_backend` to `render_offscreen` and use Bitmap
* Don't panic when backend doesn't implement `render_offscreen`
2022-09-06 16:38:48 -05:00
dependabot[bot]
aacc3c231a
build(deps): bump clap from 3.2.18 to 3.2.20
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.18 to 3.2.20.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.20/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.18...v3.2.20 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 14:47:03 -07:00
Nathan Adams
33b35cc29b
wgpu: Use lowest limits and then bump up only what we need - fixes #5566 , fixes #7256
2022-09-04 18:55:13 -07:00
Nathan Adams
5585772d54
wgpu: Don't make pipelines for blend modes we don't support
2022-09-04 18:55:13 -07:00
Nathan Adams
03744d46f1
web: Rename wgpu feature to webgpu, add wgpu-webgl feature to use webgl through wgpu
2022-09-04 18:55:13 -07:00
Nathan Adams
0ac2a3f361
wgpu: Try lower limits when full aren't available, and use uniforms for gradients if storage won't work
2022-09-04 18:55:13 -07:00
dependabot[bot]
33cc87ce27
build(deps): bump clap from 3.2.17 to 3.2.18
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.17 to 3.2.18.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.18/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.17...v3.2.18 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-30 00:19:02 +03:00
dependabot[bot]
802de0e7d1
build(deps): bump futures from 0.3.23 to 0.3.24
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.23 to 0.3.24.
- [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.23...0.3.24 )
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 23:38:43 +03:00
=
17f261fc1f
wgpu: Descriptors::new is infallible, removed error path
2022-08-25 23:43:21 +02:00
=
b29b30de58
wgpu: Pipelines::new is infallible, removed error path
2022-08-25 23:43:21 +02:00
=
461c977be0
render: unregister_bitmap is infallible, removed error path
2022-08-25 23:43:21 +02:00
=
03eb769a33
render: Made render use a real Error enum and not generic box<error>
2022-08-25 23:43:21 +02:00
Aaron Hill
b5391c00f6
tests: Re-add per-platform image tests
...
Reverts #7267
The image tests for the upcoming 'DisplayObject.stageRect' support
differ between Linux and Windows, so we need this support again.
To avoid the Linux filename churn that we previously encountered,
we now only include the platform and graphics backend in the filename
(e.g. `expected-linux-Vulkan`). This may result in some unexpected
'mismatched image' test failures if GHA updates to a version of Lavapipe
that changes rendering output, but this should be relatively easy to
notice.
2022-08-24 21:29:53 -07:00
dependabot[bot]
f93a8800a3
build(deps): bump bytemuck from 1.12.0 to 1.12.1
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.12.0 to 1.12.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.12.0...v1.12.1 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 13:45:14 -07:00
Aaron Hill
98c7f443ce
core: Only store viewport dimensions in `RenderBackend`
...
Previously, the viewport height and width were stored in
both `Stage` and the `RenderBackend`. Any changes to the viewport
dimensions (e.g. due to window resizing) needed to be updated in both
places to keep our handling of the viewport consistent.
This PR adds a new `ViewportDimensions` type, which holds the
width, height, and scale factor. It is stored inside the
`RenderBackend` impl, and is retrieved using the newly added
method `RenderBackend.get_viewport_dimensions`. After a `Player`
has been constructed, any code that needes access to the viewport
dimensions will ultimate go through this method.
Unfortunately, `Stage` needs to use the viewport dimensions
in `build_matrices`. Therefore, any code modifying the viewport
dimensions should go through `player.set_viewport_dimensions`,
which ensures that the stage matrices are rebuilt after the render
backend is updated.
2022-08-22 13:44:30 -07:00
Mike Welsh
89cb1212ad
render: Disable most blend modes
...
Avoid blend modes except ADD and SUBTRACT until they can be
implemented properly.
2022-08-19 14:59:08 -07:00
Aaron Hill
8a1e297e26
wgpu: Convert from premultiplied to straight alpha when capturing image
...
The captured WGPU texture uses premultiplied alpha.
This image gets saved as a PNG, so it should use straight alpha.
Note that all of our current image tests have 'alpha = 1.0' for all
of the pixels, so this currently has no effect.
2022-08-19 13:35:07 -07:00
Mike Welsh
a6b70e60ea
wgpu: Stub out more blend modes
2022-08-18 16:38:17 -07:00
Aaron Hill
f7205a02a9
render: Add BlendMode infrastructure and implement BlendMode.ADD
...
Each render backend keeps track of a stack of BlenModes,
which are pushed and popped by 'core' as we render objects
in the displaay tree. For now, I've just implemented BlendMode.ADD,
which maps directly onto blend mode supported by each backend.
All other blend modes (besides 'NORMAL') will produce a warning
when we try to render using them. This may produce a very large amount
of log output, but it's simpler than emitting each warning only once,
and will help to point developers in the right direction when they
get otherwise inexplicable rendering issues (due to a blend mode
not being implemented).
The wgpu implementation is by far the most complicated, as we need
to construct a `RenderPipeline` for each possible
`(BlendMode, MaskState)`. I haven't been able to find any documentation
about the maximum supported number of (simultaneous) WebGPU render
pipelines - if this becomes an issue, we may need to register them
on-demand when a particular blend mode is requested.
2022-08-18 16:38:17 -07:00
dependabot[bot]
82716d9be3
build(deps): bump bytemuck from 1.11.0 to 1.12.0
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.11.0 to 1.12.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.11.0...v1.12.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-16 01:39:03 +03:00
dependabot[bot]
7ffe92a36a
build(deps): bump clap from 3.2.16 to 3.2.17
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.16 to 3.2.17.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.17/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.16...v3.2.17 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-16 00:30:12 +03:00
dependabot[bot]
ad2b1bbd24
build(deps): bump futures from 0.3.21 to 0.3.23
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.21 to 0.3.23.
- [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.21...0.3.23 )
---
updated-dependencies:
- dependency-name: futures
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 23:37:47 +03:00
Nathan Adams
c4488fc883
render: Removed common_tess and moved tessellator to render
2022-08-14 18:38:14 -07:00
Nathan Adams
e1f38b26c0
render: Removed ruffle_core dep from all renderers
2022-08-14 18:38:14 -07:00
Nathan Adams
824b4aa8d1
render: Moved render backend from core to render
2022-08-14 18:38:14 -07:00
Nathan Adams
f088d8ac3a
render: Moved color_transform from core to render
2022-08-14 18:38:14 -07:00
Nathan Adams
35082b687f
render: Moved shape_utils from core to render
2022-08-14 18:38:14 -07:00
Nathan Adams
91a7047ebb
render: Moved Matrix from core to render
2022-08-14 18:38:14 -07:00
Nathan Adams
bc0c7cbccb
render: Made new render crate, moved Bitmap stuff to it
2022-08-14 18:38:14 -07:00
Nathan Adams
cebe11ee38
wgpu: Avoid panics when attempting to create a texture larger than the device supports
2022-08-13 02:35:30 -07:00
Nathan Adams
3d235ac58f
wgpu: Make descriptors an Arc
2022-08-09 23:19:42 +02:00
Nathan Adams
08de63afb2
wgpu: Store Uniforms Buffer outside of Descriptor, so Descriptor can be immutable once again
2022-08-09 23:19:42 +02:00
Nathan Adams
9b33a18c7c
wgpu: Store Globals outside of Descriptor, so Descriptor can be immutable once again
2022-08-09 23:19:42 +02:00
relrelb
761759c4b3
wgpu: Pull out more code to `mask_render_state`
2022-08-07 10:18:48 +03:00
dependabot[bot]
d0535f4cb8
build(deps): bump clap from 3.2.15 to 3.2.16
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.15 to 3.2.16.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.15...v3.2.16 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 23:06:07 +03:00
dependabot[bot]
bb96025800
build(deps): bump enum-map from 2.4.0 to 2.4.1
...
Bumps [enum-map](https://github.com/xfix/enum-map ) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/xfix/enum-map/releases )
- [Changelog](https://github.com/xfix/enum-map/blob/master/CHANGELOG.md )
- [Commits](https://github.com/xfix/enum-map/compare/v2.4.0...v2.4.1 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 20:34:41 +03:00
Mike Welsh
8c4dcf29ee
web: Rollback to web-sys 0.3.58
2022-07-30 19:07:39 +02:00
relrelb
286dccc274
wgpu: Introduce `create_shape_pipeline`
...
It is essentially a unification of `create_color_pipeline`, `create_bitmap_pipeline`
and `create_gradient_pipeline`.
2022-07-29 11:00:48 -07:00
relrelb
79f36964b4
web: Bump wasm-bindgen to 0.2.82
...
As usual, also bump its helper crates (`js-sys`, `web-sys` and
`wasm-bindgen-futures`) to the latest versions.
2022-07-29 09:40:14 -07:00
dependabot[bot]
df07f610e7
build(deps): bump clap from 3.2.14 to 3.2.15
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.14 to 3.2.15.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/v3.2.15/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.2.14...v3.2.15 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 23:35:39 +03:00
relrelb
115f15806e
chore: Fix `needless_borrow` clippy lints
...
Though https://github.com/rust-lang/rust-clippy/pull/8355 has been
merged, it seems to still report false-positives on nightly channel.
For now just fix the instances reported by stable clippy, and keep
`needless_borrow` allowed.
2022-07-08 14:14:30 +03:00
dependabot[bot]
cfe3d37905
build(deps): bump bytemuck from 1.9.1 to 1.10.0
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.9.1 to 1.10.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.9.1...v1.10.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 23:55:22 +03:00
Mike Welsh
d3c64d4eb7
webgl/wgpu: Omit strokes when drawing a mask stencil
...
Adjust `common_tess` to add an additional `mask_index_count` to
draws. This is used to not render strokes when drawing a shape as
a mask stencil.
Fixes #7027 .
2022-07-02 16:57:53 -07:00
Mike Welsh
b39d54de2c
wgpu: Update exporter for wgpu 0.13
2022-07-02 16:44:37 -07:00
Mike Welsh
cb70d6e612
wgpu: Prefer linear surface formats
...
wgpu 0.13 added `Surface::get_supported_formats`, so we can check
if a non-sRGB surface format is supported on the current platform.
Because Flash colors and blending are in sRGB space, we want a
linear surface when possible to prevent the colors from being
fiddled with by the GPU.
2022-07-02 16:44:37 -07:00
relrelb
65be2adc63
wgpu: Bump to `0.13.0`
...
Based on the work in #6717 , plus additional adaptions mentioned in
https://github.com/gfx-rs/wgpu/blob/master/CHANGELOG.md#wgpu-013-2022-06-30 ,
and more not-mentioned but required changes.
Also bump `wasm-bindgen` to `0.2.81` (along with its helper crates), as
required by the new `wgpu` version.
Note that I don't fully understand some of the required changes, notably:
* `wgpu::PresentMode::Mailbox` no longer works on my machine (Windows 11) -
The `wgpu` documentation says that `wgpu::PresentMode::Fifo` is the
only guaranteed to be supported, so I switched over to it instead.
* `self.staging_belt.recall()` doesn't return a `Future` anymore -
I assume it became synchronous so I simply removed the `executor`
from there.
2022-07-02 16:44:37 -07:00
Aaron Hill
a79aa08f08
core: Free render backend resources on `BitmapData.dispose`
...
Currently, all three render backends hold on texture-related
resources indefinitely (`register_bitmap` pushes to a `Vec`,
and never removes anything). As a result, the resources used
by the render backend (which may include GPU memory) will grow
over time, even if the corresponding `BitmapData` has been deallocated.
This commit adds a new `unregister_bitmap` method, which is called from
`BitmapData.dispose`. All render backs are changed to now use an
`FnvHashMap<BitmapHandle, _>` instead of a `Vec`, allowing us to
remove individual entries.
Currently, we only call `unregister_bitmap in response to
`BitmapData.dispose` - when `BitmapData` is freed by the
garbage collector, `unregister_bitmap` is *not* called.
This will be addressed in a future PR.
2022-06-29 15:16:43 -07:00
dependabot[bot]
06d9a96b4a
build(deps): bump clap from 3.2.1 to 3.2.2
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v3.2.1...v3.2.2 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 09:54:39 +03:00
dependabot[bot]
4fb6afd993
build(deps): bump enum-map from 2.3.0 to 2.4.0
...
Bumps [enum-map](https://github.com/xfix/enum-map ) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/xfix/enum-map/releases )
- [Changelog](https://github.com/xfix/enum-map/blob/master/CHANGELOG.md )
- [Commits](https://github.com/xfix/enum-map/compare/v2.3.0...v2.4.0 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 08:53:40 +03:00
dependabot[bot]
a3f5fda85d
build(deps): bump clap from 3.1.18 to 3.2.1
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.18 to 3.2.1.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.18...clap_complete-v3.2.1 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-17 07:58:21 +03:00
relrelb
53ef80f514
render: Introduce `RenderBackend::register_bitmap`
...
Since all `RenderBackend::register_bitmap_*` implementations are
identical now, move them to the default implementation of `RenderBackend`.
Also, turn `RenderBackend::register_bitmap_raw` into `RenderBackend::register_bitmap`,
which accepts a single `Bitmap` parameter.
2022-06-02 15:27:29 -07:00
dependabot[bot]
e4ef3c6406
build(deps): bump enum-map from 2.2.0 to 2.3.0
...
Bumps [enum-map](https://github.com/xfix/enum-map ) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/xfix/enum-map/releases )
- [Changelog](https://github.com/xfix/enum-map/blob/master/CHANGELOG.md )
- [Commits](https://github.com/xfix/enum-map/commits/v2.3.0 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 23:36:14 +03:00
Aaron Hill
811af340c3
render: Fix swapped 'width' and 'height' in wgpu `register_bitmap_raw`
...
These arguments were being passed in the wrong order, leading to a crash
when the width and height are not equal.
2022-05-25 21:56:34 +03:00
Mike Welsh
32bf7e1412
chore: Appease clippy
2022-05-22 02:34:18 -07:00
dependabot[bot]
5a50f4cec1
build(deps): bump enum-map from 2.1.0 to 2.2.0
...
Bumps [enum-map](https://gitlab.com/KonradBorowski/enum-map ) from 2.1.0 to 2.2.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 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-21 23:04:43 -07:00
Mike Welsh
48f7ff5f4d
core: Add `Bitmap::to_rgba`
2022-05-19 10:43:54 -07:00
Mike Welsh
e710f3fa0e
core: Clean up `render::Bitmap`
...
* Make `BitmapFormat` a fieldless enum and move `data` to its own
field for ease of use.
* Make `Bitmap` fields private.
2022-05-19 10:43:54 -07:00
Mike Welsh
6615ed17f9
core: Verify bitmap length after decoding
...
Guarantee bitmap data after decoding has the expected length for
the given width+height+format. This eases the burden from backends
to worry about this. Pad or truncate the data if it doesn't have
the expected size.
2022-05-19 10:43:54 -07:00
dependabot[bot]
27da91b7a0
build(deps): bump clap from 3.1.17 to 3.1.18
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.17 to 3.1.18.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.17...v3.1.18 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 13:54:02 -07:00
Mike Welsh
121c2577b4
wgpu: Clamp alpha in shaders ( fix #6954 )
2022-05-12 14:50:25 -07:00
dependabot[bot]
a853b897ca
build(deps): bump clap from 3.1.15 to 3.1.17
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.15 to 3.1.17.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.15...v3.1.17 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 13:45:19 -07:00
dependabot[bot]
c1bcc98668
build(deps): bump image from 0.24.1 to 0.24.2
...
Bumps [image](https://github.com/image-rs/image ) from 0.24.1 to 0.24.2.
- [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/v0.24.2 )
---
updated-dependencies:
- dependency-name: image
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 14:48:00 -07:00
dependabot[bot]
7ab8c340fa
build(deps): bump clap from 3.1.12 to 3.1.15
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.12 to 3.1.15.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.12...v3.1.15 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 14:47:37 -07:00
dependabot[bot]
1aafd5c62b
build(deps): bump clap from 3.1.9 to 3.1.12
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.9 to 3.1.12.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.9...v3.1.12 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 13:41:09 -07:00
dependabot[bot]
e6576df298
build(deps): bump clap from 3.1.8 to 3.1.9
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.8 to 3.1.9.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.8...v3.1.9 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-04-18 14:59:23 -07:00
Mike Welsh
4a38d36cd7
wgpu: Output premultiplied alpha
2022-04-17 08:33:51 -07:00
Mike Welsh
2d43ace225
wgpu: Don't create intermediate render targets when unnecessary
2022-04-15 14:52:33 -07:00
Mike Welsh
f4d72dcc2d
wgpu: Disable depth writes
2022-04-15 14:52:33 -07:00
Mike Welsh
9c11870a08
wgpu: Use linear color render target
...
Always use a non-sRGB texture as the render target so that color
and alpha blending are in sRGB space, matching Flash behavior.
If the surface format requires sRGB, render to an intermediate
linear buffer and copy to the surface as a final render step.
2022-04-15 14:52:33 -07:00
Mike Welsh
00419c6959
wgpu: Use BlendState::ALPHA_BLENDING const
2022-04-15 14:52:33 -07:00
relrelb
eeb5eb18f6
web: Bump wasm-bindgen to 0.2.80
...
As usual, also bump its helper crates (`js-sys`, `web-sys` and
`wasm-bindgen-futures`) to the latest versions.
2022-04-08 09:56:23 -07:00
dependabot[bot]
359e687ec9
build(deps): bump clap from 3.1.6 to 3.1.8
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.6 to 3.1.8.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.6...v3.1.8 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 14:25:14 -07:00
dependabot[bot]
1960fc57c3
build(deps): bump bytemuck from 1.9.0 to 1.9.1
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.9.0 to 1.9.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.9.0...v1.9.1 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-04-04 13:36:47 -07:00
dependabot[bot]
93d2a410a3
build(deps): bump bytemuck from 1.8.0 to 1.9.0
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.8.0 to 1.9.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.8.0...v1.9.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 11:53:10 -07:00
dependabot[bot]
e5a3365957
build(deps): bump image from 0.23.14 to 0.24.1
...
Bumps [image](https://github.com/image-rs/image ) from 0.23.14 to 0.24.1.
- [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 )
---
updated-dependencies:
- dependency-name: image
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-30 08:55:55 +03:00
relrelb
8bc3e9abd2
wgpu: Switch `Bgra` over to `Rgba`
...
The `image` crate removed `Bgra` in version 0.24.0:
https://github.com/image-rs/image/blob/master/CHANGES.md#version-0240
So stop using it, and start using `Rgba` instead when capturing
images.
2022-03-29 17:18:29 -07:00
dependabot[bot]
755d5f05ad
build(deps): bump enum-map from 2.0.3 to 2.1.0
...
Bumps [enum-map](https://gitlab.com/KonradBorowski/enum-map ) from 2.0.3 to 2.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 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-26 11:07:23 -07:00
relrelb
f8f2764ac7
chore: Stop using traits available in prelude
...
This commit does the same as 36353df7f7
,
cleaning up any leftovers and new code added since.
2022-03-14 01:16:00 +02:00
dependabot[bot]
697ad92db5
build(deps): bump bytemuck from 1.7.3 to 1.8.0
...
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.7.3 to 1.8.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.7.3...v1.8.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 23:59:40 +02:00
dependabot[bot]
56ef543f16
build(deps): bump clap from 3.1.3 to 3.1.6
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.3 to 3.1.6.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.3...v3.1.6 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-03-07 23:58:51 +02:00
dependabot[bot]
8e6ed37ba4
build(deps): bump enum-map from 2.0.2 to 2.0.3
...
Bumps [enum-map](https://gitlab.com/KonradBorowski/enum-map ) from 2.0.2 to 2.0.3.
- [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 )
---
updated-dependencies:
- dependency-name: enum-map
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 23:20:04 +02:00
dependabot[bot]
9657bde02c
build(deps): bump clap from 3.1.2 to 3.1.3
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.1.2 to 3.1.3.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.1.2...v3.1.3 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 22:31:25 +02:00
dependabot[bot]
ff3aadd134
build(deps): bump clap from 3.0.14 to 3.1.1
...
Bumps [clap](https://github.com/clap-rs/clap ) from 3.0.14 to 3.1.1.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v3.0.14...v3.1.1 )
---
updated-dependencies:
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 23:36:57 +02:00