mThreadingMode( ThreadingMode::COMBINED_UPDATE_RENDER ),
mRenderRefreshRate( 1 ),
mGlesCallAccumulate( false ),
+ mMultiSamplingLevel( 0 ),
mLogFunction( NULL )
{
ParseEnvironmentOptions();
return mRenderRefreshRate;
}
+unsigned int EnvironmentOptions::GetMultiSamplingLevel() const
+{
+ return mMultiSamplingLevel;
+}
+
bool EnvironmentOptions::PerformanceServerRequired() const
{
return ( ( GetPerformanceStatsLoggingOptions() > 0) ||
mRenderRefreshRate = renderRefreshRate;
}
}
+
+ int multiSamplingLevel( 0 );
+ if( GetIntegerEnvironmentVariable( DALI_ENV_MULTI_SAMPLING_LEVEL, multiSamplingLevel ) )
+ {
+ if( multiSamplingLevel > 0 )
+ {
+ mMultiSamplingLevel = multiSamplingLevel;
+ }
+ }
}
} // Adaptor
*/
unsigned int GetRenderRefreshRate() const;
+ /**
+ * @return The number of samples required in multisample buffers
+ */
+ unsigned int GetMultiSamplingLevel() const;
+
private: // Internal
/**
ThreadingMode::Type mThreadingMode; ///< threading mode
unsigned int mRenderRefreshRate; ///< render refresh rate
bool mGlesCallAccumulate; ///< Whether or not to accumulate gles call statistics
+ unsigned int mMultiSamplingLevel; ///< The number of samples required in multisample buffers
Dali::Integration::Log::LogFunction mLogFunction;
#define DALI_REFRESH_RATE "DALI_REFRESH_RATE"
+#define DALI_ENV_MULTI_SAMPLING_LEVEL "DALI_MULTI_SAMPLING_LEVEL"
+
} // namespace Adaptor
} // namespace Internal
mGLES = new GlImplementation();
}
- mEglFactory = new EglFactory();
+ mEglFactory = new EglFactory( mEnvironmentOptions->GetMultiSamplingLevel() );
EglSyncImplementation* eglSyncImpl = mEglFactory->GetSyncImplementation();
namespace Adaptor
{
-EglFactory::EglFactory()
+EglFactory::EglFactory( unsigned int multiSamplingLevel )
: mEglImplementation(NULL),
mEglImageExtensions(NULL),
- mEglSync(new EglSyncImplementation) // Created early, as needed by Core constructor
+ mEglSync(new EglSyncImplementation), // Created early, as needed by Core constructor
+ mMultiSamplingLevel( 4 )
{
+ if( multiSamplingLevel > 0 )
+ {
+ mMultiSamplingLevel = multiSamplingLevel;
+ }
}
EglFactory::~EglFactory()
EglInterface* EglFactory::Create()
{
// Created by RenderThread (After Core construction)
- mEglImplementation = new EglImplementation();
- mEglImageExtensions = new EglImageExtensions(mEglImplementation);
+ mEglImplementation = new EglImplementation( mMultiSamplingLevel );
+ mEglImageExtensions = new EglImageExtensions( mEglImplementation );
mEglSync->Initialize(mEglImplementation); // The sync impl needs the EglDisplay
return mEglImplementation;
/**
* Constructor
*/
- EglFactory();
+ EglFactory( unsigned int multiSamplingLevel );
/**
* Destructor
EglImplementation* mEglImplementation;
EglImageExtensions* mEglImageExtensions;
EglSyncImplementation* mEglSync;
+
+ unsigned int mMultiSamplingLevel;
};
}
} \
}
-EglImplementation::EglImplementation()
+EglImplementation::EglImplementation( unsigned int multiSamplingLevel )
: mEglNativeDisplay(0),
mEglNativeWindow(0),
mCurrentEglNativePixmap(0),
mIsOwnSurface(true),
mContextCurrent(false),
mIsWindow(true),
- mColorDepth(COLOR_DEPTH_24)
+ mColorDepth(COLOR_DEPTH_24),
+ mMultiSamplingLevel( multiSamplingLevel )
{
}
configAttribs.PushBack( 8 );
#ifndef DALI_PROFILE_UBUNTU
configAttribs.PushBack( EGL_SAMPLES );
- configAttribs.PushBack( 4 );
+ configAttribs.PushBack( mMultiSamplingLevel );
configAttribs.PushBack( EGL_SAMPLE_BUFFERS );
configAttribs.PushBack( 1 );
#endif // DALI_PROFILE_UBUNTU
public:
/**
* Constructor
+ * @param environmentOptions To check the envirionment options
*/
- EglImplementation();
+ EglImplementation( unsigned int multiSamplingLevel );
/**
* Destructor
bool mContextCurrent;
bool mIsWindow;
ColorDepth mColorDepth;
+
+ unsigned int mMultiSamplingLevel;
};
} // namespace Adaptor
const unsigned int ADAPTOR_MAJOR_VERSION = 1;
const unsigned int ADAPTOR_MINOR_VERSION = 2;
-const unsigned int ADAPTOR_MICRO_VERSION = 42;
+const unsigned int ADAPTOR_MICRO_VERSION = 43;
const char * const ADAPTOR_BUILD_DATE = __DATE__ " " __TIME__;
#ifdef DEBUG_ENABLED
result = CompareType<Quaternion>(a, b, epsilon);
break;
}
+ case Property::STRING:
+ {
+ std::string a, b;
+ q1.Get(a);
+ q2.Get(b);
+ result = (a.compare(b) == 0);
+ break;
+ }
case Property::MATRIX:
case Property::MATRIX3:
- case Property::STRING:
case Property::ARRAY:
case Property::MAP:
{
Name: dali-adaptor
Summary: The DALi Tizen Adaptor
-Version: 1.2.42
+Version: 1.2.43
Release: 1
Group: System/Libraries
License: Apache-2.0 and BSD-3-Clause and MIT