Nathan Adams
baa0c5c7cd
desktop: Use custom (de)serialization for preferences, not serde
2024-03-05 00:02:27 +01:00
Nathan Adams
b9c6db1cb9
desktop: Add preferences dialog, allow setting of graphics backend/power
2024-03-05 00:02:27 +01:00
Nathan Adams
8df7efb662
desktop: Load graphics preferences from disk
2024-03-05 00:02:27 +01:00
renovate[bot]
fae1c458ec
fix(deps): update rust dependencies
2024-03-04 22:18:19 +01:00
TÖRÖK Attila
2e52ee9f33
chore: Bump `js-sys` and `web-sys` to `v0.3.69`
2024-03-04 19:01:04 +01:00
TÖRÖK Attila
7f268bf50e
chore: Update `wasm-bindgen` to `v0.2.92`, wasm-bindgen-futures to `v0.4.42`
2024-03-04 19:01:04 +01:00
renovate[bot]
c2179e88db
fix(deps): update rust dependencies
2024-03-02 10:05:43 +01:00
renovate[bot]
35d72115a4
fix(deps): update wasm-bindgen
2024-03-02 02:42:45 +01:00
renovate[bot]
6e84b05b66
fix(deps): update rust dependencies
2024-03-01 22:46:32 +01:00
Aaron Hill
900a8407d6
core: Implement lazy decoding of bitmaps
...
We hit a pathological case in House
(https://github.com/ruffle-rs/ruffle/issues/15154 ),
where eagerly decoding bitmaps during preloading results in
over 10GB of ram being used.
With this PR, we store the compressed bitmap, and only decode it
each time we instantiate it. In order to support bitmap fills,
we store the decoded width/height and a lazily-initialized GPU handle
in `Character::Bitmap`
2024-02-27 21:18:18 -05:00
renovate[bot]
9cdb2f31cc
fix(deps): update rust dependencies
2024-02-26 08:14:26 +01:00
renovate[bot]
6b89737093
fix(deps): update rust dependencies
2024-02-19 11:32:22 +01:00
renovate[bot]
637b277481
web: chore: Bump wasm-bindgen to 0.2.91
2024-02-16 09:48:30 +01:00
renovate[bot]
477440d387
fix(deps): update rust dependencies
2024-02-05 07:56:07 +01:00
Aaron Hill
86e471835e
Fix clippy beta lint
2024-02-04 21:14:05 +01:00
Nathan Adams
2e0e7aec5c
wgpu: Remove the readback-upgrade path. It's now slower than normal drawing
2024-02-02 00:59:45 +01:00
Nathan Adams
70af5cd5dd
wgpu: Submit occasionally to avoid submitting a large encoder
2024-02-02 00:59:45 +01:00
Nathan Adams
fb8f3301b6
wgpu: Queue up offscreen draws, don't do them immediately
2024-02-02 00:59:45 +01:00
Nathan Adams
70fbb4a7ac
render: Move away from SyncHandle.retrieve_offscreen_texture to RenderBackend::resolve_sync_handle
2024-02-02 00:59:45 +01:00
Nathan Adams
1a5dff5d12
wgpu: Keep a CommandEncoder for the duration of a frame, extract out a struct to hold it with a StagingBelt
2024-02-02 00:59:45 +01:00
renovate[bot]
3737725a21
fix(deps): update rust dependencies
2024-01-30 09:23:15 +01:00
Nathan Adams
fcb74d8fbc
wgpu: Deduplicate common gradients from a single Mesh
2024-01-27 21:37:22 +01:00
Nathan Adams
e479d12af0
render: Make Mesh a struct, not just an alias for Vec<Draw>
2024-01-27 21:37:22 +01:00
Nathan Adams
2d42abcb70
wgpu: Don't use max_uniform_buffer_binding_size as a limit for BufferBuilder when making meshes
2024-01-27 21:37:22 +01:00
Nathan Adams
ab404bae2a
wgpu: Remove ouroboros and typed-arena, no longer needed
2024-01-27 21:37:22 +01:00
Nathan Adams
3be2efe7cf
wgpu: Clean up DynamicTransforms, after the merge
2024-01-27 21:37:22 +01:00
Nathan Adams
c3423b86f8
wgpu: Use vertex buffer and staging belt for bevel filter
2024-01-27 21:37:22 +01:00
Nathan Adams
7e0bd48061
wgpu: Use vertex buffer and staging belt for glow filter
2024-01-27 21:37:22 +01:00
Nathan Adams
2722a6588e
wgpu: Use vertex buffer and staging belt for simple filters
2024-01-27 21:37:22 +01:00
Nathan Adams
9320de354c
wgpu: Use staging belt and single buffer for filter arguments
2024-01-27 21:37:22 +01:00
Nathan Adams
76d07faacf
wgpu: Make sync index Option<> in make_queue_sync_handle
2024-01-27 21:37:22 +01:00
Nathan Adams
f99f89122a
wgpu: Remove uniform encoder
2024-01-27 21:37:22 +01:00
Nathan Adams
de975a9727
wgpu: Merge Transforms and ColorAdjustments
2024-01-27 21:37:22 +01:00
Nathan Adams
1231d2fead
wgpu: Extract out ESTIMATED_OBJECTS_PER_CHUNK, set it to 200
2024-01-27 21:37:22 +01:00
Nathan Adams
574e83f3a3
wgpu: Use max_uniform_buffer_binding_size from adapter
2024-01-27 21:37:22 +01:00
Nathan Adams
befce41e11
wgpu: Remove push constant support - simplifies code significantly, and it should be same perf now
2024-01-27 21:37:22 +01:00
Nathan Adams
fd604b3a18
wgpu: Try using a single buffer/bindgroup for transform/colortransforms, no longer dynamically allocated
2024-01-27 21:37:22 +01:00
Nathan Adams
6824f33cc6
wgpu: Add limits to BufferBuilder (but currently not respected for Meshes)
2024-01-27 21:37:22 +01:00
Aaron Hill
820e7e828a
wgpu: Allow Stage3D texture upload where source is smaller than dest
...
Fancy Pants World 4 relies on this behavior.
2024-01-25 00:30:10 +01:00
Aaron Hill
1cb24b41b0
render: Support PixelBender ByteArray/Vector.<Number> input/output
...
When ActionScript uses a ByteArray/Vector.<Number> as a shader input
or target, we create a temporary Rgba32Float texture, and copy the
input float32 bytes to/from the texture.
Unfortunately, wgpu doesn't seem to support an Rgb32Float (3-channel)
texture. When the shader uses 3 channels, we use a Rgba32Float
(4-channel) texture, and manually insert/remove padding for the
alpha channels. This isn't very efficient, but it's the simplest
solution.
The temporary textures themselves aren't cached anywhere - if this
becomes a performance issue, we could look into using some of our
existing wgpu texture/buffer pooling code.
2024-01-24 08:31:52 -05:00
renovate[bot]
262dff83a4
fix(deps): update rust dependencies
2024-01-22 03:09:33 +01:00
Nathan Adams
c63f51f823
web: Enable webgpu
2024-01-21 19:36:08 +01:00
Nathan Adams
4d16e24889
wgpu: Update wgpu and naga to 0.19
2024-01-21 19:36:08 +01:00
Aaron Hill
e73819d531
Use supported_sample_count for Context3D sample count
...
This rounds the requested sample count down to a value
that's supported by the device.
2024-01-21 12:47:13 -05:00
TÖRÖK Attila
d153290fd6
nits: Fix a whole bunch of typos all over the place
2024-01-17 23:59:19 +01:00
Aaron Hill
b5f28f6caa
wgpu: Add support for Stage3D anisotropic filtering
...
Instead of binding every supported sampler combination
and selecting the correct index in our AGAL builder,
we now determine the correct sampler on the wgpu side,
and create one sampler binding per texture slot.
2024-01-16 18:08:28 -05:00
renovate[bot]
3c115238fd
fix(deps): update rust dependencies
2024-01-16 01:13:38 +01:00
renovate[bot]
e0a22b56ce
fix(deps): update wasm-bindgen
2024-01-15 17:24:02 -05:00
Aaron Hill
57f6963133
render: Implement PixelBender Operation::Select (renamed from Loop) ( #14503 )
2024-01-11 01:04:50 +00:00
renovate[bot]
a328deab11
fix(deps): update rust dependencies
2024-01-08 02:59:04 +01:00