From c02de9aaa2d27d43ec64b04b609af4f1233c620a Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 22 Feb 2010 14:09:22 +0100 Subject: enable bytepair compression for S60 3.2 and newer Bytepair compression allows libraries to be paged properly and drastically reduces RAM consumption. Reviewed-By: Jason Barron --- mkspecs/common/symbian/symbian.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index 7b2ee91..f3026ad 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -115,7 +115,7 @@ symbian-abld { } else { MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" } -MMP_RULES += PAGED +MMP_RULES += PAGED BYTEPAIRCOMPRESSTARGET MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6 @@ -145,7 +145,7 @@ exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis S60_VERSION = 3.2 } else { S60_VERSION = 3.1 - MMP_RULES -= PAGED + MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET } } @@ -163,4 +163,4 @@ symbian { # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE} } } -} \ No newline at end of file +} -- cgit v0.12 From bbb996e6cbe4a19ceb72650dd82a8b3cf60553db Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Mon, 22 Feb 2010 12:41:23 +0100 Subject: Use the SYMBIAN_BUILD_GCE macro to check if the GCE variant can be used The correct macro for determing when we can enable the NGA specific functions in Symbian is SYMBIAN_BUILD_GCE. Reviewed-by: Iain --- src/corelib/global/qglobal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 9edf929..4b1232d 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -2409,7 +2409,7 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf(); #if defined(Q_OS_SYMBIAN) -#ifdef SYMBIAN_GRAPHICS_USE_GCE +#ifdef SYMBIAN_BUILD_GCE //RWsPointerCursor is fixed, so don't use low performance sprites #define Q_SYMBIAN_FIXED_POINTER_CURSORS #define Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE -- cgit v0.12 From 925dac20184820222765385b391a78d776ee61bb Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Mon, 22 Feb 2010 13:54:20 +0100 Subject: Enable window size caching on Symbian NGA variants. Enabling this flag saves us the round-trip to WSERV whenever RWindow::Size() is called because the size is cached on the client side. This can improve performance because functions like eglSwapBuffers() call Size() to see if the window size has changed and without the cache this introduces an extra IPC call for every frame. Task-number: QT-2849 Reviewed-by: Iain --- src/corelib/global/qglobal.h | 1 + src/gui/kernel/qapplication_s60.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 4b1232d..04aac12 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -2413,6 +2413,7 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf(); //RWsPointerCursor is fixed, so don't use low performance sprites #define Q_SYMBIAN_FIXED_POINTER_CURSORS #define Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE +#define Q_SYMBIAN_WINDOW_SIZE_CACHE //enabling new graphics resources #define QT_SYMBIAN_SUPPORTS_SGIMAGE #define QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index bf3ad71..fdbbeb2 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -1146,6 +1146,10 @@ void qt_init(QApplicationPrivate * /* priv */, int) #endif S60->wsSession().SetAutoFlush(ETrue); +#ifdef Q_SYMBIAN_WINDOW_SIZE_CACHE + TRAP_IGNORE(S60->wsSession().EnableWindowSizeCacheL()); +#endif + S60->updateScreenSize(); -- cgit v0.12 From 9be36306cd19626344cdedf5d99f5b142c2356d0 Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Tue, 23 Feb 2010 09:57:35 +0100 Subject: Always define Q_WS_S60 on Symbian unless configured with -no-s60. Previously we were relying on the toolchain to define the S60 version for us and were enabling Q_WS_S60 based on this. Since the S60 macros are no longer defined for us, let's assume we always want S60 support unless Qt is configured with -no-s60. Reviewed-by: axis --- src/corelib/global/qglobal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 04aac12..82210f3 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -813,7 +813,7 @@ namespace QT_NAMESPACE {} # define Q_WS_MAC32 # endif # elif defined(Q_OS_SYMBIAN) -# if (defined(__SERIES60_31__) || defined(__S60_32__) || defined(__S60_50__)) && !defined(QT_NO_S60) +# if !defined(QT_NO_S60) # define Q_WS_S60 # endif # elif !defined(Q_WS_QWS) -- cgit v0.12