This PR fixes the precision error which occurs when casting a double to int32, causing an incorrect physical display size to be propagated in
the layer tree ultimately causing input events on the left edge of the
display to be dropped.
* deprecate hashValues and hashList
* rm unused imports
* missing periods and const lists
* improves hashing of lists
* ignore: avoid_classes_with_only_static_members
* migrate new classes
* refactor: update version of deprecation
* Fixes for the Windows arm64 build
* Update buildroot to 53abad0fa9c9e0285e80f9b0682316d5d39705be
* Update buildroot to f582982073b6f04b7a70bc284bac8fafa6c0a846
In https://github.com/flutter/engine/pull/33666, I landed a bulk lint
cleanup that applied fixes to global constant naming using the `--fix`
option to the linter script, but also caught a few straggling linter
violations that hadn't been previously fixed.
As part of this patch, the linter applied a change that moved
ShaderLibraryGLES's is_valid_ initialisation from the ctor body to the
initialiser list, always initialised to true. This is unsafe because
prior to is_valid_ initialisation in the ctor body, there was a bailout
if any of the shader_libraries wasn't valid.
This eliminates the use of the
`cppcoreguidelines-prefer-member-initializer` lint, which incorrectly
flagged this code due to the following issue:
https://github.com/llvm/llvm-project/issues/52837
This is a partial revert of https://github.com/flutter/engine/pull/33666.
Reintroduction of this issue is prevented by the removal of the
`cppcoreguidelines-prefer-member-initializer` lint in this patch.
It took me a while to figure out how best to put image heavy docs into a Wiki on
GitHub. Finally, gave up and moved these to a docs folder in Markdown syntax.
The images have been `pngcrush`ed with the `-brute` so they are about as small
as can be expected.
Added links to the articles from the README and also added Brandon's showcase to
zhoosh it up a bit :)
Fixes https://github.com/flutter/flutter/issues/104740
This CL changes the vsync trace name to "VsyncProcessCallback". The
benchmarks in fuchsia currently support "VsyncProcessCallback" and "vsync callback". After this change, support for "vsync callback" can be safely removed from fuchsia benchmarks.
Test: fx test host_x64/knowledge_card_test
Bug: 73367
In the OpenGL ES backend, if an Impeller operation happens on a thread
with no OpenGL context current, the reactor enqueues it for later
execution. This later execution may happen on the main context. To avoid
this pessimization, queue the upload to the IO thread (which already has
a context) instead.
I was hoping that the reactor would manage task pinning as well but that
change is more invasive and I wanted to add parity with the Metal
backend ASAP. Hence the post-task fix.
Fixes https://github.com/flutter/flutter/issues/104756