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
GTK IM operates in [coordinates relative to its client window](https://docs.gtk.org/gtk3/method.IMContext.set_cursor_location.html#:~:text=The%20location%20is%20relative%20to%20the%20client%C2%A0window.). Let GTK
IM use the native window that backs FlView, which is the same native
window that is used for key event processing - see GDK_KEY_XXX_MASK in
fl_view_realize().
This is an important step towards testable FlTextInputPlugin because it
eliminates the depency to GtkWidget's coordinate translation API and
that way paves the road for replacing FlTextInputPlugin's FlView
instance with a plain GdkWindow. In tests, that window can be an
instance of GdkOffscreenWindow.
There are no tests included yet but after a few more refactoring steps
it will be possible to execute tests like this: [fl_text_input_plugin_test.cc](f2e0d91b59/shell/platform/linux/fl_text_input_plugin_test.cc).
The other refactoring steps are visible at [jpnurmi/engine/commits/text-input-plugin](https://github.com/jpnurmi/engine/commits/text-input-plugin).
The linker error was due to the same uniform name with different types
appearing in different shader stages. I'll add an Impeller validation
for this in a subsequent patch so we don't depend on testing in GLES.
There was also another issue related to not being able to bind a
cube-map type texture.
After these fixes, the showcase runs but the one of the textures
doesn't seem to be sampled still. But still, the progress is pretty
neat.
Fixes https://github.com/flutter/flutter/issues/104585.
Acquires fewer locks and doesn't throw GL errors when setting labels on
create-on-bind resources that haven't been bound yet. In such cases, the
label will be set on the next reaction.