X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Frender%2Fgl-resources%2Fcontext.cpp;h=b37c267de0a3e94c93664d69a4bcda84196dcc4f;hb=7bbdfbb277fc4794fe3edbcdd4bf99382e1fdbc3;hp=be8255555ea3dfa8004dc31eb9a3183c6b6c61e0;hpb=75d8fba72eba375dae047aacfbd36769b1ad05b9;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/render/gl-resources/context.cpp b/dali/internal/render/gl-resources/context.cpp index be82555..b37c267 100644 --- a/dali/internal/render/gl-resources/context.cpp +++ b/dali/internal/render/gl-resources/context.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 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. @@ -21,14 +21,14 @@ // EXTERNAL INCLUDES #include #include +#include // INTERNAL INCLUDES #include -#include +#include #include #include #include -#include namespace Dali { @@ -39,7 +39,7 @@ namespace Internal namespace // unnamed namespace { -DALI_COMPILE_TIME_ASSERT( TEXTURE_UNIT_LAST <= Context::MAX_TEXTURE_UNITS ); +static_assert( TEXTURE_UNIT_LAST <= Context::MAX_TEXTURE_UNITS, "TEXTURE_UNIT_LAST is greater than Context::MAX_TEXTURE_UNITS" ); /** * GL error strings @@ -64,7 +64,12 @@ errorStrings errors[] = Debug::Filter* gContextLogFilter = Debug::Filter::New(Debug::Concise, false, "LOG_CONTEXT_STATE"); #endif -Context::Context(Integration::GlAbstraction& glAbstraction) +Context::Context( Integration::GlAbstraction& glAbstraction ) +: Context( glAbstraction, nullptr ) +{ +} + +Context::Context( Integration::GlAbstraction& glAbstraction, OwnerContainer< Context* >* contexts ) : mGlAbstraction(glAbstraction), mGlContextCreated(false), mColorMask(true), @@ -91,11 +96,18 @@ Context::Context(Integration::GlAbstraction& glAbstraction) mBlendFuncSeparateDstAlpha(GL_ZERO), mBlendEquationSeparateModeRGB( GL_FUNC_ADD ), mBlendEquationSeparateModeAlpha( GL_FUNC_ADD ), + mStencilFunc( GL_ALWAYS ), + mStencilFuncRef( 0 ), + mStencilFuncMask( 0xFFFFFFFF ), + mStencilOpFail( GL_KEEP ), + mStencilOpDepthFail( GL_KEEP ), + mStencilOpDepthPass( GL_KEEP ), mDepthFunction( GL_LESS ), mMaxTextureSize(0), mClearColor(Color::WHITE), // initial color, never used until it's been set by the user mCullFaceMode( FaceCullingMode::NONE ), - mViewPort( 0, 0, 0, 0 ) + mViewPort( 0, 0, 0, 0 ), + mSurfaceContexts( contexts ) { } @@ -241,7 +253,7 @@ void Context::InitializeGlState() memset( &mVertexAttributeCurrentState, 0, sizeof(mVertexAttributeCurrentState) ); //Initialize bound 2d texture cache - memset( &mBound2dTextureId, 0, sizeof(mBound2dTextureId) ); + memset( &mBoundTextureId, 0, sizeof(mBoundTextureId) ); mFrameBufferStateCache.Reset(); }