ruffle/render/src
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
..
backend render: Move away from SyncHandle.retrieve_offscreen_texture to RenderBackend::resolve_sync_handle 2024-02-02 00:59:45 +01:00
pixel_bender wpgu: Initial implementation of PixelBender shader execution (#11441) 2023-06-15 22:50:24 +00:00
atf.rs Suport uploading ATFTextureData::CompressedRawAlpha 2023-11-10 02:00:40 +01:00
backend.rs render: Move away from SyncHandle.retrieve_offscreen_texture to RenderBackend::resolve_sync_handle 2024-02-02 00:59:45 +01:00
bitmap.rs render: Move away from SyncHandle.retrieve_offscreen_texture to RenderBackend::resolve_sync_handle 2024-02-02 00:59:45 +01:00
blend.rs avm2: Implement DisplayObject.blendShader (#12238) 2023-07-26 23:25:26 +00:00
commands.rs avm2: Implement DisplayObject.blendShader (#12238) 2023-07-26 23:25:26 +00:00
error.rs wgpu: Don't create cacheAsBitmap for textures that are too large 2023-06-25 22:58:22 +02:00
filters.rs core: Don't invalidate when setting filters to the same value 2023-11-10 22:24:45 +01:00
lib.rs avm2: Add support for Stage3D bytearray/compressed textures (#13180) 2023-09-28 03:03:30 +00:00
matrix.rs chore: Appease clippy-beta 2023-11-13 20:26:50 +01:00
pixel_bender.rs render: Support PixelBender ByteArray/Vector.<Number> input/output 2024-01-24 08:31:52 -05:00
quality.rs render: make Context3D renderers fully GC-agnostic 2023-07-14 16:06:36 -06:00
renderdoc.rs Fix clippy beta lint 2024-02-04 21:14:05 +01:00
shader_filter_common.wgsl render: Implement more PixelBender features (#11800) 2023-07-01 13:50:43 -04:00
shader_source.rs render: Implement more PixelBender features (#11800) 2023-07-01 13:50:43 -04:00
shape_utils.rs wgpu: Deduplicate common gradients from a single Mesh 2024-01-27 21:37:22 +01:00
tessellator.rs wgpu: Deduplicate common gradients from a single Mesh 2024-01-27 21:37:22 +01:00
transform.rs render: Replace `ColorTransform` with `swf::ColorTransform` 2023-03-29 23:27:20 -07:00
utils.rs core: Implement lazy decoding of bitmaps 2024-02-27 21:18:18 -05:00