Commit Graph

23 Commits

Author SHA1 Message Date
Nathan Adams 0e9b1e4a77 wgpu: Better support for 2x and 8x msaa 2023-02-06 16:08:04 +01:00
Nathan Adams 1cb3ea7bf9 wgpu: Store quality, not sample_count, and calculate the correct sample count per format 2023-02-06 16:08:04 +01:00
Nathan Adams 580cce29db wgpu: Update to wgpu fork with buffer bug fix 2023-01-17 05:59:55 +01:00
Nathan Adams 6138714fa7 wgpu: Fix buffer bug detection 2023-01-16 17:22:04 +01:00
Nathan Adams 2e7201334d wgpu: Detect if buffers are unusable on web and fail to create wgpu renderer if so 2023-01-12 18:37:28 +01:00
Nathan Adams 9cd850d30e render: Make render_offscreen return a sync handle which can be used to get the texture at a later time 2023-01-11 16:53:33 -05:00
Aaron Hill 1b3070ab85 core: Make `BitmapHandle` hold a trait object instead of an id
`BitmapHandle` now holds `Arc<dyn BitmapHandleImpl>`.
This allows us to move all of the per-bitmap backend data into
`BitmapHandle`, instead of holding an id to a backend-specific
hashmap.

This fixes the memory leak issue with bitmaps. Once the AVM side of a
bitmap (`Bitmap`/`BitmapData`) gets garbage-collected, the
`BitmapHandle` will get dropped, freeing all of the GPU resources
assoicated with the bitmap.
2022-12-03 19:44:44 -06:00
Nathan Adams a38cadfd39 wgpu: Cache shape pipelines per texture format & msaa 2022-09-11 09:07:53 +02:00
Mike Welsh 4141909bcb web: Support wgpu on web
Add wgpu feature to web build (disabled by default currently).
2021-10-24 17:20:19 -07:00
Mike Welsh 0cbdad1ff2 wgpu: Bump to wgpu 0.11 2021-10-24 17:20:19 -07:00
Mike Welsh b31b00c6d6 wgpu: Bump to latest wgpu master 2021-04-16 23:37:23 -07:00
relrelb 627773d0d4 wgpu: Use common_tess
This eliminates tons of duplicate code.
2021-03-23 16:16:35 -07: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
relrelb 9a8edda8a6 chore: Update lyon to 0.17.1 2021-01-04 18:08:14 -08: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 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 34fc3c574b render: Update wgpu to 0.6 2020-08-27 11:02:28 -07: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
Nathan Adams eda862c719 swf: Merged core::Matrix into swf::Matrix 2020-05-20 14:54:41 +02:00
Mike Welsh 3b550a111f wgpu: Hook up gradient spread mode and focal point 2020-05-15 00:13:36 -07:00
Nathan Adams 47a44a5fe8 desktop: Prime window with known width/height of the movie 2020-05-04 16:07:38 -07: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