Skip to content

Tags: aluetz/ruffle

Tags

nightly-2023-06-24

Toggle nightly-2023-06-24's commit message
core: Store just abcd fields of Matrix inside BitmapCache, as we don'…

…t use tx/ty

nightly-2023-06-23

Toggle nightly-2023-06-23's commit message
chore: Update translations from Crowdin

nightly-2023-06-22

Toggle nightly-2023-06-22's commit message
tests: Increased tolerance of stage3d tests

nightly-2023-06-21

Toggle nightly-2023-06-21's commit message
avm2: Optimize coerce_to_primitive for boxed primitives

nightly-2023-06-20

Toggle nightly-2023-06-20's commit message
avm1: Correct `matrix::object_to_matrix_or_default`

nightly-2023-06-19

Toggle nightly-2023-06-19's commit message
web: Use for..of instead of for..in loops

nightly-2023-06-18

Toggle nightly-2023-06-18's commit message
chore: Bump ouroboros to 0.17.0.

nightly-2023-06-17

Toggle nightly-2023-06-17's commit message
web: Disabling `allowScriptAccess` also prevents opening URLs in the …

…same tab

nightly-2023-06-16

Toggle nightly-2023-06-16's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
wpgu: Initial implementation of PixelBender shader execution (ruffle-…

…rs#11441)

* wpgu: Initial implementation of PixelBender shader execution

The implementation is split across four crates:
* `ruffle_render` now holds the main PixelBender bytecode parsing
   implementation (previously, this was in `ruffle_core`).
* `ruffle_core` holds some helper functions for converting between
   AVM2 `Value`s and the PixelBender vector types.
* `naga-pixelbender` (newly created) constructs a Naga `Module`
  from parsed PixelBender bytecode
* `ruffle_render_wgpu` sets up the render pipeline for the shader
  constructed by `naga-pixelbender`, and actually executes the shader.

The Actionscript-side shader parameters are passed in through uniforms.
This allows us to cache the compiled `naga::Module` and associated
wgpu types inside `ShaderData`, when it's first created. Each invocation
of a `ShaderJob` only needs to create a bind group and render pass.

Limitations:

* Only a few of the PixelBender opcodes are implemented - however, this is
enough to get Stemlands cannon rotation working, as well as a cool
"donut" shader that I found and included as a test.
* PixelBender matrix types are not supported.
* Only BitmapData is supported as an input/output type - Flash Player
  also supports using Vector and ByteArray
* ShaderJob execution is always synchronous.

* Adjust comments

* Address review comments

nightly-2023-06-15

Toggle nightly-2023-06-15's commit message
tests: Enable tracing_subscriber in tests

Previously, we weren't displaying any Ruffle logs when running tests.