GpuChildThreadEfl's main goal is to override GpuChannelManager's
shared context and mailbox manager by the ones created by Efl
shared evas gl context.
In order to do that, GpuChildThreadEfl overrides GpuChildThread
and reimplements its OnInitialize method.
OnInitialize first calls GpuChilfThread::OnInitialize, where
gpu_channel_manager_ is instantiated, performs the overrides.
Problem is that by the time GpuChildThread::OnInitialize is executed
and GpuChannelManager is instantiated, its ctor also instantiates
share_group_ and mailbox_manager_ class member variables.
Hence, both DCHECKs (being removed by this patch) fail.
Patch removes them because they check for logically invalid
conditions.
Original beta/m47 patch: http://165.213.202.130/gerrit/#/c/105899/
Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=15731
Reviewed by: g.czajkowski, sns.park
Change-Id: Ib6d8927f189fdb3595d7da528adebf60d0f2d562
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
void OnInitialize() {
GpuChildThread::OnInitialize();
- DCHECK(!gpu_channel_manager_->share_group_.get());
- DCHECK(!gpu_channel_manager_->mailbox_manager_.get());
+
+ // Override GpuChannelManager's default shared group and mailbox instances.
gpu_channel_manager_->share_group_ =
GLSharedContextEfl::GetShareGroup();
gpu_channel_manager_->mailbox_manager_ =