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
TÖRÖK Attila
05fc77e8cd
ci: Turn off LTO, document the settings in the `ci` Cargo profile
...
And set the number of codegen units.
2024-02-28 00:20:47 +01:00
TÖRÖK Attila
a23ebb0366
ci: Actually enable incremental building (despite the default in rust-cache)
2024-02-28 00:20:47 +01:00
TÖRÖK Attila
a342232d5f
ci: Enable CARGO_NET_GIT_FETCH_WITH_CLI on Windows (and incidentally on Linux as well)
2024-02-28 00:20:47 +01:00
TÖRÖK Attila
893a4962de
build: Switch to linking with LLD on Windows
2024-02-28 00:20:47 +01:00
TÖRÖK Attila
ee0c1f42ff
core,avm2: Make Timer.setDelay not change the timer ID. Fix #15005 .
2024-02-27 23:56:33 +01:00
TÖRÖK Attila
e288375543
tests: Add a failing test for Timer.setDelay changing ID
2024-02-27 23:56:33 +01:00
Crowdin Bot
832f35e203
chore: Update translations from Crowdin
2024-02-27 22:51:33 +01:00
TÖRÖK Attila
e56a4597cc
desktop: chore: Update winit to 0.29.11
2024-02-27 22:43:59 +01:00
TÖRÖK Attila
12151f5125
ci: Add a dedicated Cargo profile, test with that
2024-02-26 08:42:24 +01:00
TÖRÖK Attila
f5a5705381
ci: Don't install rustfmt and clippy for the Rust tests job
...
This is leftover from https://github.com/ruffle-rs/ruffle/pull/15171
2024-02-26 08:42:24 +01:00
renovate[bot]
9cdb2f31cc
fix(deps): update rust dependencies
2024-02-26 08:14:26 +01:00
Lord-McSweeney
11d5a8f7df
avm2: Resolve reviews (no functional changes)
2024-02-25 21:52:24 -08:00
Lord-McSweeney
8542edf10c
avm2: Handle lazy multinames in optimizer
2024-02-25 21:52:24 -08:00
Lord-McSweeney
b637e5f108
avm2: Add a `popn` function to `Stack` and use it
2024-02-25 21:52:24 -08:00
Lord-McSweeney
4d8c98af0d
avm2: Don't use a `Class`'s first `ClassObject` for its VTable if more than one `ClassObject` had been constructed for the class
2024-02-25 21:52:24 -08:00
Lord-McSweeney
a763842b1b
avm2: Extract optimizer logic into a different file
2024-02-25 21:52:24 -08:00
Lord-McSweeney
ba9a975685
avm2: Add `push_raw` for faster stack pushes
2024-02-25 21:52:24 -08:00
Lord-McSweeney
b07c0a99ea
avm2: Also optimize `CallProperty` to `CallMethod` when possible
2024-02-25 21:52:24 -08:00
Lord-McSweeney
22117e3eb5
avm2: Add more ops to optimizer and let it use resolved argument types
2024-02-25 21:52:24 -08:00
Lord-McSweeney
4da708edb8
chore: appease clippy
2024-02-25 21:52:24 -08:00
Lord-McSweeney
e227576093
chore: cleanup
2024-02-25 21:52:24 -08:00
Lord-McSweeney
d7cebd020b
avm2: Support type inference for chained `GetProperty`s
2024-02-25 21:52:24 -08:00
Lord-McSweeney
8b19012123
avm2: Handle more ops in abstract optimizer
2024-02-25 21:52:24 -08:00
Lord-McSweeney
0cb0d4a6da
avm2: More advanced optimizer
2024-02-25 21:52:24 -08:00
TÖRÖK Attila
d2e854fb73
nit: desktop/navigator: Fix a typo in a comment: ownerhsip -> ownership
2024-02-22 21:14:41 +01:00
Kamil Jarosz
98c0dc4616
desktop: Prevent resource leak on reload
...
This patch makes TaskHandle reference the executor by a weak reference.
Prior to this change, there was a possibility of a resource leak, where
the executor, its tasks, and resources held by them were not properly
dropped due to existing references to the executor.
This manifested by e.g. unclosed sockets after reload, which required
the whole program to be restarted in order to be closed properly.
2024-02-21 21:45:01 -05:00
Nathan Adams
ea77019eab
web: Include wasm file in docker builds as Mozilla say this is okay, and it solves our reproducibility issues
2024-02-22 02:30:00 +01:00
Nathan Adams
6a548225f7
ci: Extend the docker test to include diffing against normal builds
2024-02-21 23:48:40 +01:00
dependabot[bot]
35630c3a2e
build(deps-dev): bump ip from 1.1.8 to 1.1.9 in /web
...
Bumps [ip](https://github.com/indutny/node-ip ) from 1.1.8 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.8...v1.1.9 )
---
updated-dependencies:
- dependency-name: ip
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-02-21 00:42:08 +01:00
Crowdin Bot
00f1ce66ea
chore: Update translations from Crowdin
2024-02-21 00:26:15 +01:00
TÖRÖK Attila
2ffebcfc8a
chore: Run `cargo update`
2024-02-21 00:18:38 +01:00
Nathan Adams
30a0864329
web: Don't generate random name of wasm files in extension
2024-02-19 20:47:33 +01:00
renovate[bot]
6b89737093
fix(deps): update rust dependencies
2024-02-19 11:32:22 +01:00
Daniel Jacobs
279cbc4d5f
ci: Update get-current-time to v2.1.2 which uses Node 20
2024-02-19 11:06:02 +01:00
Crowdin Bot
29821e9c84
chore: Update translations from Crowdin
2024-02-19 10:38:26 +01:00
Tom Schuster
ba7c9a4e31
avm2: Always serialize as ECMAArray, which produces an AMF0 MixedArray
2024-02-19 10:13:18 +01:00
renovate[bot]
c234c72897
chore(deps): update node.js dependencies
2024-02-19 08:31:37 +01:00
Nathan Adams
8d9b50d4f4
tests: Port remainder of shumway tests over
2024-02-18 18:01:28 +01:00
Nathan Adams
0eab4405f6
tests: When a test is known_failure but doesn't have an expected.png, don't mark it as now-passing
2024-02-18 18:01:28 +01:00
Adrian Wielgosik
fe2ed81d8a
avm2: Implement JS->AS3 Object deserialization
2024-02-16 15:25:55 +01:00
Nathan Adams
4ed608851e
web: Fix version seal path
2024-02-16 11:59:40 +01:00
renovate[bot]
637b277481
web: chore: Bump wasm-bindgen to 0.2.91
2024-02-16 09:48:30 +01:00
TÖRÖK Attila
9646c86707
ci: Split Rust lint checks into their own job
2024-02-16 02:47:24 +01:00
renovate[bot]
1651b7a5b0
desktop: chore: Update `egui` to 0.26.2
2024-02-16 01:52:41 +01:00
Nathan Adams
50961bd684
tests: Don't test NaN output in amf_vector
2024-02-16 01:33:22 +01:00
Nathan Adams
ffabf13f35
ci: switch to macos-14 runner
2024-02-16 01:33:22 +01:00
Aaron Hill
1a1ce91e98
core: Only report socket connected just before we fire 'connect'
...
Platform Racing 3 relies on 'Socket.connected' reporting 'false'
immediately after calling 'Socket.connect' - it internally buffers
data made when 'Socket.connected' is false
2024-02-16 01:10:57 +01:00
Nathan Adams
4bcba36957
ci: Try without dist-upgrade, it's slow
2024-02-16 00:33:39 +01:00
Nathan Adams
7e80ece016
ci: Install newer mesa from a PPA due to current mesa bug
2024-02-16 00:33:39 +01:00