21 Commits

Author SHA1 Message Date
gaaclarke
4f5dfc63c5 [Impeller] Collapse DrawRects into clear colors optimization (flutter/engine#43168)
design doc: https://docs.google.com/document/d/1Lqf1BRn4uCcUfv9dZlDyAgdSMeQ3FTnPgPjKF9yQ3MI/edit

fixes: https://github.com/flutter/flutter/issues/129292

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-29 00:37:02 +00:00
Jonah Williams
be33a58e18 [Impeller] Encode render passes concurrently on iOS. (flutter/engine#42028)
Allows pushing encoding of command buffers to a worker thread, relying on the fact that these buffers are always scheduled in the order that they are enqueued. This follows the guidelines from https://developer.apple.com/documentation/metal/mtlcommandbuffer?language=objc
2023-05-23 19:40:05 +00:00
Jason Simmons
6f5ee7f984 [Impeller] Add a CommandBuffer::WaitUntilScheduled API (flutter/engine#41303)
This can be used by IO thread operations such as image decoding to ensure that the results of GPU commands become visible to the raster thread.
2023-04-21 19:08:04 +00:00
gaaclarke
e41c775200 Removed instances of unnecessary values (flutter/engine#36221) 2022-09-26 21:28:04 +00:00
Kaushik Iska
1884fa3695 [impeller] Wire renderpass for vulkan (flutter/engine#36356) 2022-09-22 20:13:47 +00:00
Dan Field
dc1b2c14d1 [Impeller] Compute shader support (flutter/engine#35750) 2022-08-31 19:07:49 +00:00
Chinmay Garde
a48523baec [Impeller] Passes and command buffers hold weak handles to the context. (flutter/engine#35352)
This makes the submission simpler as the allocators can be acquired from the
pass itself.

Also makes command buffer submission go through a common method that performs
error checking before dispatch to the backend.
2022-08-11 14:50:10 -07:00
Brandon DeRosier
92a7cfe151 [Impeller] Add blit pass (flutter/engine#34901) 2022-07-27 22:50:04 +00:00
Chinmay Garde
ae111d1cf3 [impeller] OpenGL ES 2.0: Implement texturing and debug object labeling. (flutter/engine#33156) 2022-05-06 16:14:05 -07:00
Chinmay Garde
eaccba761d [impeller] Implement an OpenGL ES 2.0 backend. (flutter/engine#33084) 2022-05-04 15:54:06 -07:00
Chinmay Garde
ddb2c14ec1 Minor: Account for macro namespacing. 2022-04-27 15:57:33 -07:00
Chinmay Garde
8ac160af41 Fix alpha writes while rendering to texture. 2022-04-27 15:57:33 -07:00
Chinmay Garde
26e45c2c48 Work towards making canvas subpasses configure postprocessing effects. 2022-04-27 15:57:33 -07:00
Chinmay Garde
c694675197 Canvas subpasses rendering into their own command buffers. 2022-04-27 15:57:33 -07:00
Chinmay Garde
b943a06616 Renderer components no longer need a surface reference to function. 2022-04-27 15:57:33 -07:00
Chinmay Garde
3b5d0de968 Shorten names of the render target attachment descriptors. 2022-04-27 15:57:33 -07:00
Chinmay Garde
24f28685fe Make the renderer APIs more verbose. 2022-04-27 15:57:33 -07:00
Chinmay Garde
1c983cee42 Add docs for command buffer. 2022-04-27 15:57:33 -07:00
Chinmay Garde
07229ea4d7 Minor doc updates. 2022-04-27 15:57:33 -07:00
Chinmay Garde
e129fbaba1 Start getting rid of ObjC TU's from core library. 2022-04-27 15:57:33 -07:00
Chinmay Garde
d4308e38ee Rename the compositor to the entity framework. 2022-04-27 15:57:33 -07:00