Commit Graph

23 Commits

Author SHA1 Message Date
Mike Welsh b31b00c6d6 wgpu: Bump to latest wgpu master 2021-04-16 23:37:23 -07:00
relrelb 648e14e057 render: Final cleanups 2021-03-23 16:16:35 -07:00
Mike Welsh e7d7e19c24 chore: Bump to wgpu 0.70 2021-02-27 17:52:05 -08:00
Mike Welsh e5fb1f09e7 chore: Appease clippy
* #[derive(Collect)] should be before #[collect]
 * Replace redunant `&buf[..]` with `buf`
 * Changes most cases of UPPERCase to UpperCase
 * Allow upper_case_acronym on most SWF types, as they are from
   SWF spec/more annoying to change.
2021-02-12 06:32:42 -08:00
Mike Welsh 0754f0a3b3 render: Use u32 indices 2021-01-04 18:08:14 -08:00
Mike Welsh 9e46757f5f chore: Bump to wgpu-rs master 2020-12-27 00:44:11 -08:00
Mike Welsh f343aff502 wgpu: Use a single render pass and push constants
Switch to a single render pass for the whole frame, as opposed to
a render pass per draw call. This should be a large improvement to
performance. This currently requires some unsafe to work around a
self-reference between RenderPass and CommandEncoder in Frame;
this could eventually be cleaned up by changing RenderBackend
to return a Frame object instead of using begin_frame/end_frame
pairs.

Also switch to using push constants for the transform/color
uniforms.
2020-12-27 00:44:11 -08:00
relrelb e5ace596ce chore: Update some dependencies
* js-sys and wasm-bindgen are now the currently latest releases.
* wgpu is not updated to the current master because it breaks
things up.
2020-12-11 11:28:33 -08:00
Nathan Adams 20ff951d5e render: Split off common mesh binds into a mesh bind group for wgpu renderer 2020-10-23 13:02:27 -07:00
Nathan Adams c0de319fd2 render: Split up bind groups from pipelines for wgpu shapes in prep for them being refactored further 2020-10-23 13:02:27 -07: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 4dd5fcfd6a render: Don't make a new sampler for each bitmap in wgpu renderer 2020-10-17 04:16:24 -07:00
Mike Welsh 89c1378569 wgpu: Use premultiplied alpha for bitmaps 2020-10-17 02:42:56 -07:00
Mike Welsh 4558be948e render: Fix masking issues on wgpu/webgl backends
Change the usage of the stencil buffer to avoid running out of
stencil bits when too many nested masks are active.

This also cleans things up on wgpu which requires us to make
pipeline states in advice; now we only need a few stencil states
for masking as opposed to hundreds.
2020-10-17 02:42:56 -07:00
Nathan Adams b68caebc23 render: Update wgpu to e3eadca8c6 2020-10-14 13:59:25 -07:00
Nathan Adams a191c79fca render: Workaround wgpu write-only stencil testing issue - fixes #1062 2020-08-31 05:45:42 -07:00
Nathan Adams 0b93e76a27 render: Add more debug labels to wgpu renderer 2020-08-27 11:02:28 -07:00
Nathan Adams 34fc3c574b render: Update wgpu to 0.6 2020-08-27 11:02:28 -07:00
Nathan Adams 1aa3e423d7 render: Changed gradient uniform in wgpu shader to a SSBO instead of UBO, saving 192 bytes on each buffer 2020-05-10 23:48:11 -07:00
Mike Welsh 552ddd531b wgpu: Add MSAA support (default to 4x for now) 2020-04-30 19:56:07 -07:00
Nathan Adams 36d9d3ce4a render: Implement masks in wgpu renderer 2020-04-30 08:48:34 +02:00
Nathan Adams bdaf86dc3b render: Add Pipelines struct to group together wgpu pipelines 2020-04-30 08:48:34 +02:00
Nathan Adams dd1fa2700f render: Split off macros & pipeline creation from wgpu renderer 2020-04-30 08:48:34 +02:00