X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fgraphics%2Fgles%2Fegl-graphics.cpp;h=2ce631e421772a89fa45a7ed99a0f820189b7a34;hb=3c63fbf108561366679ff4379d3b155b0bc0fc99;hp=ebaaa5ae574e0cd4925d6a4f864c9c555d860a46;hpb=09e6892adcddf6d2bf7c88dc8442a42da2ac57f5;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/graphics/gles/egl-graphics.cpp b/dali/internal/graphics/gles/egl-graphics.cpp old mode 100644 new mode 100755 index ebaaa5a..2ce631e --- a/dali/internal/graphics/gles/egl-graphics.cpp +++ b/dali/internal/graphics/gles/egl-graphics.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -38,6 +38,16 @@ EglGraphics::~EglGraphics() { } +void EglGraphics::SetGlesVersion( const int32_t glesVersion ) +{ + mEglImplementation->SetGlesVersion( glesVersion ); + mGLES->SetGlesVersion( glesVersion ); +} + +void EglGraphics::SetIsSurfacelessContextSupported( const bool isSupported ) +{ + mGLES->SetIsSurfacelessContextSupported( isSupported ); +} void EglGraphics::Initialize( EnvironmentOptions* environmentOptions ) { @@ -52,19 +62,24 @@ void EglGraphics::Initialize( EnvironmentOptions* environmentOptions ) mDepthBufferRequired = static_cast< Integration::DepthBufferAvailable >( environmentOptions->DepthBufferRequired() ); mStencilBufferRequired = static_cast< Integration::StencilBufferAvailable >( environmentOptions->StencilBufferRequired() ); + mPartialUpdateAvailable = static_cast< Integration::PartialUpdateAvailable >( environmentOptions->PartialUpdateAvailable() ); mMultiSamplingLevel = environmentOptions->GetMultiSamplingLevel(); mEglSync = Utils::MakeUnique< EglSyncImplementation >(); + + mEglContextHelper = Utils::MakeUnique< EglContextHelperImplementation >(); } EglInterface* EglGraphics::Create() { - mEglImplementation = Utils::MakeUnique< EglImplementation >( mMultiSamplingLevel, mDepthBufferRequired, mStencilBufferRequired ); + mEglImplementation = Utils::MakeUnique< EglImplementation >( mMultiSamplingLevel, mDepthBufferRequired, mStencilBufferRequired, mPartialUpdateAvailable ); mEglImageExtensions = Utils::MakeUnique< EglImageExtensions >( mEglImplementation.get() ); mEglSync->Initialize( mEglImplementation.get() ); // The sync impl needs the EglDisplay + mEglContextHelper->Initialize( mEglImplementation.get() ); // The context helper impl needs the EglContext + return mEglImplementation.get(); } @@ -102,6 +117,12 @@ EglSyncImplementation& EglGraphics::GetSyncImplementation() return *mEglSync; } +EglContextHelperImplementation& EglGraphics::GetContextHelperImplementation() +{ + DALI_ASSERT_DEBUG( mEglContextHelper && "EglContextHelperImplementation not created" ); + return *mEglContextHelper; +} + EglImageExtensions* EglGraphics::GetImageExtensions() { DALI_ASSERT_DEBUG( mEglImageExtensions && "EglImageExtensions not created" );