-
Notifications
You must be signed in to change notification settings - Fork 17
Add support for running flutter engine without UI #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for running flutter engine without UI #66
Conversation
Have you checked other platforms (such as windows and glfw) on how they implemented their headless mode? It will help you with API design and implementation. Note that you don't have to care about the API compatibilities, that is, that you don't necessarily have to keep the current Tizen embedder APIs as they are but can also change them if necessary. |
I've checked glfw implementation - as it is most similar to Tizen implementation. They are using open_gl config, but without gl_proc resolver. In our implementation it would require change to all open_gl methods (as there are no checks for empty renderer), so I decided to use software renderer - as it is not used anyway. I am only not sure whether name glfw uses |
I think
p.s. I'm going to deprecate |
I have changed function name to |
db3d5b4
to
c91cd51
Compare
c91cd51
to
3b2ee1d
Compare
Signed-off-by: Rafal Walczyna <[email protected]>
3b2ee1d
to
1b04bca
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good to me.
} else { | ||
config.type = kSoftware; | ||
config.software.struct_size = sizeof(config.software); | ||
config.software.surface_present_callback = SurfacePresentCallback; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about this?
config.software.surface_present_callback = SurfacePresentCallback; | |
config.software.surface_present_callback = | |
[](void* user_data, const void* allocation, size_t row_bytes, | |
size_t height) -> bool { return true; }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I applied this suggestion, it simplifies code a bit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👌 (however, I'm not yet very familiar with embedder's code, so someone else should approve it)
Signed-off-by: Rafal Walczyna <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👌
Signed-off-by: Rafal Walczyna <[email protected]>
* Add support for running flutter engine without UI Signed-off-by: Rafal Walczyna <[email protected]> * Change surface_present_callback to lambda function Signed-off-by: Rafal Walczyna <[email protected]> * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used Signed-off-by: Rafal Walczyna <[email protected]>
* Add support for running flutter engine without UI Signed-off-by: Rafal Walczyna <[email protected]> * Change surface_present_callback to lambda function Signed-off-by: Rafal Walczyna <[email protected]> * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used Signed-off-by: Rafal Walczyna <[email protected]>
* Add support for running flutter engine without UI Signed-off-by: Rafal Walczyna <[email protected]> * Change surface_present_callback to lambda function Signed-off-by: Rafal Walczyna <[email protected]> * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used Signed-off-by: Rafal Walczyna <[email protected]>
* Add support for running flutter engine without UI Signed-off-by: Rafal Walczyna <[email protected]> * Change surface_present_callback to lambda function Signed-off-by: Rafal Walczyna <[email protected]> * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used Signed-off-by: Rafal Walczyna <[email protected]>
* Add support for running flutter engine without UI * Change surface_present_callback to lambda function * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used
* Add support for running flutter engine without UI * Change surface_present_callback to lambda function * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used
* Add support for running flutter engine without UI * Change surface_present_callback to lambda function * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used
* Add support for running flutter engine without UI * Change surface_present_callback to lambda function * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used
* Add support for running flutter engine without UI * Change surface_present_callback to lambda function * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used
…rs. (#66) Targets in the engine had to individually depend on each sub-target in Impeller when all they cared about was all the client libs. The compiler is a build time implicit dependency. So that has been removed from the top-level group. Also fixed all the headers so that TUs within Impeller don't care about where Impeller itself sits in the source tree.
* Add support for running flutter engine without UI * Change surface_present_callback to lambda function * Fix nullptr exception when TIZEN_RENDERER_EVAS_GL was used
Adding support for non UI application for Tizen. I have added
FlutterCreateService
function, which initializes Engine without window.I also work on change in flutter-tizen to add selector for creating service app (without UI).