mirror of
https://github.com/rive-app/rive-flutter.git
synced 2025-12-16 07:38:19 +08:00
ea769d78deab55b5a60cfcf81b72248f27c7bfed
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ea769d78de |
fix(flutter): make RiveWidgetBuilder file loading cancellable (#11190) 9e48626a96
* fix(flutter): make RiveWidgetBuilder file loading cancellable * docs: update CHANGELOG Update the versions of the spir-v shaders to all be 460 (#11209) f38d54d8e4 Some tooling changed today-ish that is causing the 310 es shaders to fail to build with: ``` runner/_work/rive/rive/packages/runtime/tests/unit_tests/out/android_arm64_debug/include/generated/shaders/glsl.minified.glsl:450: 'token pasting (##)' : not supported with this profile: es ERROR: spirv/blit_texture_as_draw_filtered.main:6: 'stringify (#)' : not supported with this profile: es ERROR: spirv/blit_texture_as_draw_filtered.main:6: '#' : '#' is not followed by a macro parameter. ERROR: spirv/blit_texture_as_draw_filtered.main:6: '' : missing #endif ERROR: spirv/blit_texture_as_draw_filtered.main:6: '' : compilation terminated ERROR: 5 compilation errors. No code generated. ``` This is only a "310 es" issue, and so since most spir-v shaders are already 460, this moves the rest to be the same. fix: list updates correctly when items are added or removed (#11206) 255f1ba3d2 fix: ignore non visible clips when removing redundant operations (#11207) 673820da1a update scripted drawable clipping to new strategy and remove unused function (#11195) 8002b223a3 * update clipping to new strategy fix(scripting): store data on all cases (#11197) 7fae9fb6c8 fix(EA): list index can be compared to numbers (#11194) e2f7d6cde1 feature: apply clippings as separate drawables (#11183) c3237c0283 * feature: apply clippings as separate drawables chore(scripting): add clipping support to scripted drawables (#11184) 27085dfb0c fix(editor): Display runtime errors when Script input VM properties not set (#11177) cd70e30236 Fixes a crash when trying to use pointer events when a ViewModel property input is not setup properly on a scripted drawable instance. The code was checking for ScriptAsset.vm which will always be non-null when bytecode is compiled in the editor. We should be checking instead for ScriptedObject.state because that will only be non-null if the ScriptedObject has validated (and we early out if that is null so we don't crash). Also added some errors when VM properties are not setup correctly as Script inputs so users will be aware that there is an issue with their VM setup or bindings chore: Refactor invalidateEffect for StrokeEffects (#11173) 05630acdb1 Refactors how invalidateEffect in StrokeEffects work. Now there are 2 code paths: invalidateEffectsFromLocal() - this is called from the StrokeEffect itself. It calls out to ShapePaint::invalidateEffects to let it invalidate any other StrokeEffects that may need to do so. It also calls invalidateEffect on itself. invalidateEffects() - this can be called from the StrokeEffect (via invalidateEffectsFromLocal) on itself OR by ShapePaint while in the process of determining if any other StrokeEffects should be invalidated via the call above. This adds paint dirt to the StrokeEffect along with any additional work needed when invalidating. This prevents invalidateEffect from calling ShapePaint::invalidateEffects multiple times. This also resolves an issue with ScriptedPathEffects in Components chore: complete scripted converters implementation (#11166) 55853117b2 chore: finish scripted converters implementation chore: Preprocess transitions conditions on initialization (#11150) bb52cbd4a3 Preprocess transitions conditions on initialization fix: reset interpolator and initialize it on convert (#11157) 0791ee519d * fix: reset interpolator and initialize it on convert feature: goto definition (#11143) 4f005f715e chore: updating to luau_701 (#11142) d4dfc63c3a fix(vk): Implement manual MSAA resolves (#11120) 756dc2db91 * fix(vk): Implement manual MSAA resolves Some Android devices have issues with MSAA resolves when the MSAA color buffer is also read as an input attachment. In the past we've worked around this by adding an empty subpass at the end of the render pass. This PR implements fully manual resolves instead, which we now use when there are blend modes and partial updates. This is hopefully a more stable workaround than a mystery subpass, and will ideally get better performance as well when we don't need to resolve the entire render target. * Fix synchronization validation (had a write/write hazard between the image state transition and the load op) * fix(vk): Implement manual MSAA resolves Some Android devices have issues with MSAA resolves when the MSAA color buffer is also read as an input attachment. In the past we've worked around this by adding an empty subpass at the end of the render pass. This PR implements fully manual resolves instead, which we now use when there are blend modes and partial updates. This is hopefully a more stable workaround than a mystery subpass, and will ideally get better performance as well when we don't need to resolve the entire render target. * Fix synchronization validation (had a write/write hazard between the image state transition and the load op) feature: add path effects for fills (#11136) 376052977b feature: add support for path effects for fills fix(vk): Only rely on implicit PowerVR raster ordering on Vulkan 1.3 (#11132) 4cdb5779cd After testing a statistically significant number of devices (7, specifically!) I have concluded that implicit PowerVR raster ordering only works with Rive on Vulkan 1.3 contexts. Update our renderer accordingly. Update path_fiddle.cpp (#11123) 19be344a5a * Update path_fiddle.cpp * clang format fix(Vulkan) Vulkan synchronization fixes (#11091) 810e208837 This gets (non-atomic) Vulkan rendering to pass the Vulkan synchronization validation layer tests. Nnnnn add support for path effect part 3 (#11107) c27b081319 * WIP * ui * fix errors * remove duplicate code * remove empty switch case * make pathData return required * add web ffi path methods fix: rename Node to NodeData (#11110) c46192f1fe add support for path effect (#11095) ab13b4d1a2 * add support for stacked path effects chore: rename vec2d to vector in scripts (#11097) 4ad14fbe73 * chore: rename vec2d to vector in scripts * chore: replace comments * chore: fix formatting * chore: formatting * fix: bad definition * fix: pointer event chore: Runtime Scripting fixes & tests (#11094) 539bd8c48c - Call reinit on ScriptedObjects in Artboard::initialize as discussed. We still need to reinit in Artboard::internalDataContext, because things like ScriptInputViewModelProperty depends on the ScriptedObject having a datacontext, which we don't necessarily have at initialize time. - Always run the setup code in ScriptedObject::scriptInit, but only run the init function if we verified its implementation. - Added some tests. Still need to add more comprehensive tests once we can get rivs exporting with bytecode. feature: autocomplete requires! (#11090) 6bd796b5f0 * feature: autocomplete requires! * chore: cleanup fix(vk): Never read the resolve attachment (#11081) 2430b66647 When Vulkan expands the renderTarget into the MSAA color buffer for LoadAction::preserveRenderTarget, we've been reading the resolve texture as an input attachment. But it's debatable whether a texture can be an input attachment AND a resolve attachment in the same render pass, and some early Qualcomm devices have struggled with this even if we implement the MSAA resolve manually. For now, always copy out the render target to a separate texture when there's a preserve. chore(scripting): rename scripting (#11084) 85b425bf93 * chore(scripting): make init and draw optional * chore(scripting): rename ScriptType to ScriptProtocol and none to utility * rename Drawing to Node Peon Worker Script Signing (#11063) 8748f53562 * feature: signing and compiling via ffi * feature: script signing * fix ups * Fix tests feature: Script signing (#11016) 9295f20b82 * feature: signing and compiling via ffi * feature: script signing * fix: missed with rive scripting * chore: more fixes * fix: rive_native wasm * fix: missed dispose call for the workspace * feature: optional signing * chore: core collision * feature: doing actual verification * fix: signature verification at runtime * chore: missed files * fix: switch order * fix: with rive scripting flag * fix: core def collisions * chore: unifying enrich assets * chore: remove unnecessary type check * fix: signing context fix(vk): Use rasterOrdering mode on Imagination GPUs (#11072) 69b2a3c643 We already have a codepath that enables rasterOrdering on ARM, even if the extension isn't present, because we know that's how these GPUs work. If we enable this codepath on Imagination, it appears to work as well. This works around an MSAA crash on Pixel 10. Co-authored-by: Gordon <pggordonhayes@gmail.com> |