Skip to content

Commit 4ba5398

Browse files
committed
Update evasgl sync logic
Signed-off-by: MuHong Byun <[email protected]>
1 parent 5eb022f commit 4ba5398

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

shell/platform/tizen/tizen_renderer.cc

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,6 @@ bool TizenRenderer::OnMakeCurrent() {
481481
if (evas_gl_make_current(evas_gl_, gl_surface_, gl_context_) != EINA_TRUE) {
482482
return false;
483483
}
484-
evas_object_image_pixels_dirty_set((Evas_Object*)GetImageHandle(), EINA_TRUE);
485484
return true;
486485
}
487486

@@ -517,6 +516,7 @@ bool TizenRenderer::OnPresent() {
517516
SendRotationChangeDone();
518517
received_rotation = false;
519518
}
519+
evas_object_image_pixels_dirty_set((Evas_Object*)GetImageHandle(), EINA_TRUE);
520520
return true;
521521
}
522522

@@ -662,6 +662,8 @@ bool TizenRenderer::InitializeRenderer(int32_t x, int32_t y, int32_t w,
662662

663663
bool TizenRenderer::IsValid() { return is_valid_; }
664664

665+
void TizenRenderer::flush() { glFlush(); }
666+
665667
bool TizenRenderer::SetupEvasGL(int32_t x, int32_t y, int32_t w, int32_t h) {
666668
evas_gl_ = evas_gl_new(
667669
evas_object_evas_get((Evas_Object*)SetupEvasWindow(x, y, w, h)));
@@ -697,9 +699,12 @@ bool TizenRenderer::SetupEvasGL(int32_t x, int32_t y, int32_t w, int32_t h) {
697699
Evas_Native_Surface ns;
698700
evas_gl_native_surface_get(evas_gl_, gl_surface_, &ns);
699701
evas_object_image_native_surface_set((Evas_Object*)GetImageHandle(), &ns);
700-
pixelDirtyCallback_ = [](void* data, Evas_Object* o) {};
702+
pixelDirtyCallback_ = [](void* data, Evas_Object* o) {
703+
TizenRenderer* renderer = (TizenRenderer*)data;
704+
renderer->flush();
705+
};
701706
evas_object_image_pixels_get_callback_set((Evas_Object*)GetImageHandle(),
702-
pixelDirtyCallback_, NULL);
707+
pixelDirtyCallback_, this);
703708
return true;
704709
}
705710

@@ -719,4 +724,4 @@ void TizenRenderer::DestoryEvasGL() {
719724
evas_gl_free(evas_gl_);
720725
}
721726

722-
#endif
727+
#endif

shell/platform/tizen/tizen_renderer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class TizenRenderer {
3636
bool OnPresent();
3737
uint32_t OnGetFBO();
3838
void* OnProcResolver(const char* name);
39+
void flush();
3940
virtual TizenWindowGeometry GetGeometry() = 0;
4041
bool IsValid();
4142
virtual void Show() = 0;

0 commit comments

Comments
 (0)