Remerge sfopenvg, minigui-stripped.oby fixes and bug 3283, bug 3343 & bug 3344
authorWilliam Roberts <williamr@symbian.org>
Fri, 03 Sep 2010 14:44:32 +0100
changeset 169 3c2818e88c00
parent 168 2bd88482bfe5 (diff)
parent 162 ddd5e47f1936 (current diff)
child 196 de01fe7e33d2
Remerge sfopenvg, minigui-stripped.oby fixes and bug 3283, bug 3343 & bug 3344
--- a/egl/eglrefimpl/src/session.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/eglrefimpl/src/session.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -319,6 +319,7 @@
     
     // release display lock as we're going to wait on sync object after this point, not releasing display lock at this 
     // point will cause deadlock
+    // coverity[stale]
     iDriver.Unlock();
 
     // sync obj refcount has been incremented so it won't get destroyed even if other thread call eglDestroySyncKHR or eglTerminate
--- a/egl/egltest/group/egltest.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/group/egltest.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -91,7 +91,7 @@
 #endif //SYMBIAN_GRAPHICS_EGL_SGIMAGELITE
 LIBRARY                 testexecuteutils.lib
 LIBRARY                 testexecutelogclient.lib
-LIBRARY                 cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY                 tgraphicsharness.lib
 LIBRARY                 graphicsscreencomparison.lib
 LIBRARY                 egltestcommon.lib
--- a/egl/egltest/group/egltestcommon.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/group/egltestcommon.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -58,6 +58,6 @@
 LIBRARY                 tgraphicsharness.lib
 LIBRARY                 testexecuteutils.lib
 LIBRARY                 testexecutelogclient.lib
-LIBRARY                 cinidata.lib
+LIBRARY			iniparser.lib
 
 SMPSAFE
--- a/egl/egltest/inc/egltest_benchmark_swapbuffers.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/inc/egltest_benchmark_swapbuffers.h	Fri Sep 03 14:44:32 2010 +0100
@@ -51,6 +51,8 @@
     EGLContext iEglContext;
     CTProfiler* iProfiler;
     TSize iWindowSize;
+
+    PFNEGLSWAPBUFFERSREGIONNOKPROC iPfnEglSwapBuffersRegionNok;
 	};
 	
 // Testname, is used by the test server and the test scripts to identify the test
--- a/egl/egltest/inc/egltestcommoninisettings.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/inc/egltestcommoninisettings.h	Fri Sep 03 14:44:32 2010 +0100
@@ -21,9 +21,7 @@
 #ifndef __EGLTEST_INI_SETTINGS_H__
 #define __EGLTEST_INI_SETTINGS_H__
 
-#ifndef __INIPARSER_H__
-#include <cinidata.h>
-#endif // __INIPARSER_H__
+#include <iniparser.h>
 #include <e32base.h>
 #include <pixelformats.h>
 #include <VG/openvg.h>
--- a/egl/egltest/src/egltest_benchmark_swapbuffers.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/src/egltest_benchmark_swapbuffers.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -61,6 +61,7 @@
 _LIT(KInfoRectangles, "Number of dirty rectangles: %d");
 _LIT(KWarnStressTestRectCount, "Dirty rectangles for stress test don't fit onto window surface (%d of %d).");
 
+_LIT(KEglSwapBuffersRegionNokMsg, "eglSwapBuffersRegionNOK extension is not supported.");
 
 CEglTest_Benchmark_SwapBuffers::CEglTest_Benchmark_SwapBuffers()
 	{
@@ -134,9 +135,8 @@
     ASSERT_EGL_TRUE(iEglContext != EGL_NO_CONTEXT);
     ASSERT_EGL_TRUE(eglMakeCurrent(iDisplay, iEglSurface, iEglSurface, iEglContext));
     
-    // Get the function pointer for eglSwapBuffersRegionNOK() and check SwapBuffers extension exist
-    PFNEGLSWAPBUFFERSREGIONNOKPROC pfnEglSwapBuffersRegionNok = reinterpret_cast<PFNEGLSWAPBUFFERSREGIONNOKPROC>(eglGetProcAddress("eglSwapBuffersRegionNOK"));
-    ASSERT_EGL_TRUE(pfnEglSwapBuffersRegionNok);
+    // Get the function pointer for eglSwapBuffersRegionNOK()
+    iPfnEglSwapBuffersRegionNok = reinterpret_cast<PFNEGLSWAPBUFFERSREGIONNOKPROC>(eglGetProcAddress("eglSwapBuffersRegionNOK"));
     
     return TestStepResult();
     }
@@ -186,28 +186,36 @@
         }    
     RecordTestResultL();
     
-    // Tests the maximum performance of eglSwapBuffersRegionNOK()
-    SetTestStepID(KTestStep0529);    
-    TRAP(err, EglSwapBufferRegionL());
-    if (err != KErrNone)
+    // We only perform swap region benchmark test if eglSwapBuffersRegionNOK extension is supported
+    if (iPfnEglSwapBuffersRegionNok != NULL)
         {
-        SetTestStepResult(EAbort);
-        }    
-    RecordTestResultL();
-    
-    // Stress tests the performance of eglSwapBuffersRegionNOK()
-    SetTestStepID(KTestStep0530);    
-    for (TInt noRects = KStressTestNoRectsStepSize; noRects <= KStressTestMaxNoRects; noRects += KStressTestNoRectsStepSize)
-        {
-        // TRAP here is on purpose, normally you shouldn't use it in loops
-        TRAP(err, EglSwapBufferRegionStressL(noRects));
+        // Tests the maximum performance of eglSwapBuffersRegionNOK()
+        SetTestStepID(KTestStep0529);    
+        TRAP(err, EglSwapBufferRegionL());
         if (err != KErrNone)
             {
-            ERR_PRINTF2(_L("EglSwapBufferRegionStressL (leave code: %d)."), err);
             SetTestStepResult(EAbort);
+            }    
+        RecordTestResultL();
+        
+        // Stress tests the performance of eglSwapBuffersRegionNOK()
+        SetTestStepID(KTestStep0530);    
+        for (TInt noRects = KStressTestNoRectsStepSize; noRects <= KStressTestMaxNoRects; noRects += KStressTestNoRectsStepSize)
+            {
+            // TRAP here is on purpose, normally you shouldn't use it in loops
+            TRAP(err, EglSwapBufferRegionStressL(noRects));
+            if (err != KErrNone)
+                {
+                ERR_PRINTF2(_L("EglSwapBufferRegionStressL (leave code: %d)."), err);
+                SetTestStepResult(EAbort);
+                }
             }
+        RecordTestResultL();
         }
-    RecordTestResultL();
+    else
+        {
+        INFO_PRINTF1(KEglSwapBuffersRegionNokMsg);
+        }
     
     // Close the test and return result to the testframework
     CloseTMSGraphicsStep();    
@@ -279,8 +287,8 @@
     // Number of rectangles (one rectangle consist of 4 values)
     const EGLint count = (sizeof(rects) / (sizeof(rects[0] * 4)));
             
-    // Get the function pointer for eglSwapBuffersRegionNOK()
-    PFNEGLSWAPBUFFERSREGIONNOKPROC pfnEglSwapBuffersRegionNok = reinterpret_cast<PFNEGLSWAPBUFFERSREGIONNOKPROC>(eglGetProcAddress("eglSwapBuffersRegionNOK"));
+    // We obtain the func ptr in doTestStepPreambleL and only execute this test if it is not null
+    TESTL(iPfnEglSwapBuffersRegionNok != NULL);
     
     // Clear the surface
     vgSetfv(VG_CLEAR_COLOR, 4, KClearColors[0]);
@@ -296,7 +304,7 @@
         vgSetfv(VG_CLEAR_COLOR, 4, KClearColors[i % KMaxClearColors]);
         vgClear(0, 0, iWindowSize.iWidth, iWindowSize.iHeight);
         // Swap the surface buffers
-        ASSERT_EGL_TRUE(pfnEglSwapBuffersRegionNok(iDisplay, iEglSurface, count, rects));
+        ASSERT_EGL_TRUE(iPfnEglSwapBuffersRegionNok(iDisplay, iEglSurface, count, rects));
         }
     // Mark the time and print the results to the log file
     iProfiler->MarkResultSetL();
@@ -348,8 +356,8 @@
         WARN_PRINTF3(KWarnStressTestRectCount, actualRectCount, aCount);
         }
     
-    // Get the function pointer for eglSwapBuffersRegionNOK()
-    PFNEGLSWAPBUFFERSREGIONNOKPROC pfnEglSwapBuffersRegionNok = reinterpret_cast<PFNEGLSWAPBUFFERSREGIONNOKPROC>(eglGetProcAddress("eglSwapBuffersRegionNOK"));
+    // We obtain the func ptr in doTestStepPreambleL and only execute this test if it is not null
+    TESTL(iPfnEglSwapBuffersRegionNok != NULL);
     
     // Clear the surface
     vgSetfv(VG_CLEAR_COLOR, 4, KClearColors[0]);
@@ -365,7 +373,7 @@
         vgSetfv(VG_CLEAR_COLOR, 4, KClearColors[i % KMaxClearColors]);
         vgClear(0, 0, iWindowSize.iWidth, iWindowSize.iHeight);
         // Swap the surface buffers
-        ASSERT_EGL_TRUE(pfnEglSwapBuffersRegionNok(iDisplay, iEglSurface, actualRectCount, rects));
+        ASSERT_EGL_TRUE(iPfnEglSwapBuffersRegionNok(iDisplay, iEglSurface, actualRectCount, rects));
         }
     // Mark the time and print the results to the log file
     iProfiler->MarkResultSetL();
--- a/egl/egltest/src/egltest_image.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/src/egltest_image.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -20,9 +20,7 @@
 
 #include "egltest_image.h"
 
-#ifndef __INIPARSER_H__
-#include <cinidata.h>
-#endif // __INIPARSER_H__
+#include <iniparser.h>
 #include <test/tefunit.h> // for ASSERT macros
 
 #include <test/egltestcommonconversion.h>
--- a/egl/egltest/src/egltest_image_multiprocess.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/src/egltest_image_multiprocess.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -19,9 +19,7 @@
 */
 
 #include <test/tefunit.h> // for ASSERT macros
-#ifndef __INIPARSER_H__
-#include <cinidata.h>
-#endif // __INIPARSER_H__
+#include <iniparser.h>
 #include <e32msgqueue.h>
 
 #include "egltest_image_multiprocess.h"
--- a/egl/egltest/src/egltest_nativepixmaptype.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/src/egltest_nativepixmaptype.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -18,9 +18,7 @@
  @test
 */
 
-#ifndef __INIPARSER_H__
-#include <cinidata.h>
-#endif // __INIPARSER_H__
+#include <iniparser.h>
 #include <test/tefunit.h> // for ASSERT macros
 
 #include "egltest_nativepixmaptype.h"
--- a/egl/egltest/src/egltest_vgimagetosurfaces.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/src/egltest_vgimagetosurfaces.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -19,9 +19,7 @@
 */
 
 #include <test/tefunit.h> // for ASSERT macros
-#ifndef __INIPARSER_H__
-#include <cinidata.h>
-#endif // __INIPARSER_H__
+#include <iniparser.h>
 
 #include "egltest_vgimagetosurfaces.h"
 
--- a/egl/egltest/src/egltestcommonstep.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/egl/egltest/src/egltestcommonstep.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -19,9 +19,7 @@
 */
 
 #include <test/tefunit.h> // for ASSERT macros
-#ifndef __INIPARSER_H__
-#include <cinidata.h>
-#endif // __INIPARSER_H__
+#include <iniparser.h>
 #include <apgtask.h>
 #include <e32math.h>
 #include <e32msgqueue.h> 
--- a/fbs/fontandbitmapserver/group/FBSCLI.MMP	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/group/FBSCLI.MMP	Fri Sep 03 14:44:32 2010 +0100
@@ -28,7 +28,7 @@
 SOURCEPATH      ../sfbs
 
 userinclude     ../inc
-userinclude     ../traces
+userinclude     ../traces_FBSCLI
 
 OS_LAYER_SYSTEMINCLUDE
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/fbs/fontandbitmapserver/group/FBSERV.MMP	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/group/FBSERV.MMP	Fri Sep 03 14:44:32 2010 +0100
@@ -22,7 +22,7 @@
 // Default stack size(8K) is too small and causes stack overflow
 // in the hardware test udeb
 EPOCSTACKSIZE   16384
-EPOCHEAPSIZE    0x10000 0x200000		
+EPOCHEAPSIZE    0x10000 0x400000		
 					
 target          fbserv.exe
 
@@ -35,7 +35,7 @@
 
 userinclude     ../inc
 userinclude     ../sfbs
-userinclude     ../traces
+userinclude     ../traces_FBSERV
 
 OS_LAYER_SYSTEMINCLUDE
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
--- a/fbs/fontandbitmapserver/group/TFbsServer.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/group/TFbsServer.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -31,7 +31,7 @@
 userinclude		../sfbs 
 userinclude		../inc 
 userinclude		../trasterizer/src
-userinclude		../traces
+userinclude		../traces_FBSERV
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 OS_LAYER_ESTLIB_SYSTEMINCLUDE
--- a/fbs/fontandbitmapserver/group/fbservtest_helium.pkg	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/group/fbservtest_helium.pkg	Fri Sep 03 14:44:32 2010 +0100
@@ -35,8 +35,7 @@
 
 "\epoc32\data\z\fbstest\fbstest_T_Alloc.script"-"c:\fbstest\fbstest_T_Alloc.script"
 "\epoc32\data\z\fbstest\fbstest_T_Bitmap.script"-"c:\fbstest\fbstest_T_Bitmap.script"
-;COMMENTED OUT FOR 10T38 ZERO TOLERANCE TEST STRATEGY
-;"\epoc32\data\z\fbstest\fbstest_T_Fbs.script"-"c:\fbstest\fbstest_T_Fbs.script"
+"\epoc32\data\z\fbstest\fbstest_T_Fbs.script"-"c:\fbstest\fbstest_T_Fbs.script"
 "\epoc32\data\z\fbstest\fbstest_T_Compressed.script"-"c:\fbstest\fbstest_T_Compressed.script"
 "\epoc32\data\z\fbstest\fbstest_T_Ralc.script"-"c:\fbstest\fbstest_T_Ralc.script"
 "\epoc32\data\z\fbstest\fbstest_T_Defect.script"-"c:\fbstest\fbstest_T_Defect.script"
--- a/fbs/fontandbitmapserver/inc/FBS.H	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/inc/FBS.H	Fri Sep 03 14:44:32 2010 +0100
@@ -364,6 +364,8 @@
 	TInt DoLoadFromRom(TUint32* aRomPointer, TInt32 aId, TUint aFileOffset, TBool& aRomPointerValid);
 	TBool LoadShiftedRomBmpL(const TDesC& aFileName,TInt32 aId,TUint aFileOffset);
 	static void DoStoreL(CDirectFileStore* aFileStore,CFbsBitmap* aBitmap,TInt aNumSources,const TDesC* aSources[],TInt32 aSourceIds[]);
+	TInt DuplicateInRom(TInt aBitmapHandle);
+	TInt DuplicateInRam(TInt aBitmapHandle);
 protected:
 	/** WARNING: For internal use ONLY.  Compatibility is not guaranteed in future releases.
 	 */
--- a/fbs/fontandbitmapserver/sfbs/FBSBMP.CPP	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/sfbs/FBSBMP.CPP	Fri Sep 03 14:44:32 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -25,6 +25,11 @@
 #include "BitwiseBitmap.inl"
 #include "FbsMessage.H"
 #include "bitmapconst.h"
+#include "OstTraceDefinitions.h"
+#include "fbstrace.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "FBSBMPTraces.h"
+#endif
 
 const TInt KMaxPixelSize = KMaxTInt / 4; // Maximum pixel size to avoid some overflow problems
 const TInt KMaxBitmapHandleBufferSize = KNumBytesPerBitmapHandle * 2000; 	// Maximum size of buffer to store all bitmap handles.
@@ -95,6 +100,8 @@
 */
 EXPORT_C void CFbsBitmap::Reset()
 	{
+    FBS_OST(TInt ssh = (iFbs ? iFbs->ServerSessionHandle() : 0);)
+    FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_RESET_ENTRY, "> this=0x%08x; iH=0x%08x; iSH=0x%08x; iSSH=0x%08x", (TUint)this, iHandle, iServerHandle, ssh );)
 	if (iHandle && !(iFlags & EIsRomBitmap))
 		{
 		iFbs->SendCommand(EFbsMessClose, iHandle, Handle());
@@ -114,6 +121,7 @@
 	iUseCount = 0;
 	iHandle = 0;
 	iServerHandle = 0;
+	FBS_OST(OstTrace1( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_RESET_EXIT, "< this=0x%08x", (TUint)this );)
 	}
 	
 /** Tests whether or not the bitmap is read-only.
@@ -254,7 +262,11 @@
 */
 EXPORT_C TInt CFbsBitmap::Create(const TSize& aSizeInPixels,TDisplayMode aDispMode)
 	{
-	return DoCreate(aSizeInPixels,aDispMode,KUidCFbsBitmapCreation);
+    FBS_OST(OstTraceExt4(GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATE_ENTRY, "> this=0x%08x; w=%d; h=%d; dm=%d", (TUint)this, aSizeInPixels.iWidth, aSizeInPixels.iHeight, aDispMode); ) 
+	TInt err = DoCreate(aSizeInPixels,aDispMode,KUidCFbsBitmapCreation);
+    FBS_OST(TInt ssh = (iFbs ? iFbs->ServerSessionHandle() : 0);)
+	FBS_OST(OstTraceExt5(GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATE_EXIT, "< this=0x%08x; err=%d; iH=0x%08x; iSH=0x%08x; iSSH=0x%08x", (TUint)this, err, iHandle, iServerHandle, ssh); )
+    return err;
 	}
 
 TInt CFbsBitmap::DoCreate(const TSize& aSizeInPixels, TDisplayMode aDispMode, TUid aUid, TInt aDataSize)
@@ -305,7 +317,11 @@
 */
 EXPORT_C TInt CFbsBitmap::CreateHardwareBitmap(const TSize& aSizeInPixels,TDisplayMode aDispMode,TUid aCreatorUid)
 	{
-	return DoCreate(aSizeInPixels,aDispMode,aCreatorUid);
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATEHARDWAREBITMAP_ENTRY, "> this=0x%08x; w=%d; h=%d; dm=%d; uid=0x%08x", (TUint)this, aSizeInPixels.iWidth, aSizeInPixels.iHeight, aDispMode, aCreatorUid.iUid);)
+	TInt err = DoCreate(aSizeInPixels,aDispMode,aCreatorUid);
+    FBS_OST(TInt ssh = (iFbs ? iFbs->ServerSessionHandle() : 0);)
+	FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATEHARDWAREBITMAP_EXIT, "< this=0x%08x; err=%d; iH=0x%08x; iSH=0x%08x; iSSH=0x%08x", (TUint)this, err, iHandle, iServerHandle, ssh);)
+	return err;
 	}
 
 /** Resets the pixel-size of the bitmap.
@@ -406,53 +422,105 @@
 @released
 @see CFbsBitmap::Handle()
 */
-EXPORT_C TInt CFbsBitmap::Duplicate(TInt aBitmapHandle)
-		{
+EXPORT_C TInt CFbsBitmap::Duplicate(TInt aBitmapHandle)	
+    {
+    TInt ret = KErrNone;
+    FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_DUPLICATE_ENTRY, "> this=0x%08x; iH=0x%08x;", (TUint)this, aBitmapHandle);)
 	if(!iFbs) 
 		{
-		return(KErrCouldNotConnect);
+		ret = KErrCouldNotConnect;
+		FBS_OST(OstTrace1( TRACE_ERROR, CFBSBITMAP_DUPLICATE_ERROR, "! this=0x%08x; !iFbs", (TUint)this);)
 		}
-	if(!aBitmapHandle) 
-		{
-		return(KErrUnknown);
-		}
-	Reset();
-	TBool isinrom=EFalse;
-	TInt ret=User::IsRomAddress(isinrom,(TAny*)aBitmapHandle);
-	if(ret!=KErrNone) 
+	else if(!aBitmapHandle) 
 		{
-		return(KErrUnknown);
-		}
-	if(isinrom)
-		{
-		if (((CBitwiseBitmap*)aBitmapHandle)->Uid() != KCBitwiseBitmapUid)
-			return(KErrUnknown);
-		iAddressPointer = (CBitwiseBitmap*)aBitmapHandle;
-		iFlags = EIsRomBitmap;
-		iHandle=1;
-		return iFbs->AllocScanLineBuffer(iAddressPointer->iByteWidth + 4);
+		ret = KErrUnknown;
+		FBS_OST(OstTrace1( TRACE_ERROR, CFBSBITMAP_DUPLICATE_ERROR2, "! this=0x%08x; !aBitmapHandle", (TUint)this);)
 		}
-	TPckgBuf<TBmpHandles> b;
-	TIpcArgs args(aBitmapHandle,&b);
-	ret=iFbs->SendCommand(EFbsMessBitmapDuplicate,args);
-	if(ret!=KErrNone) 
-		{
-		return(ret);
-		}
-	iHandle=b().iHandle;
-	iServerHandle=b().iServerHandle;
-	iAddressPointer=(CBitwiseBitmap*)(iFbs->HeapBase()+b().iAddressOffset);
-	if (iAddressPointer->iUid.iUid != KCBitwiseBitmapUid.iUid && iAddressPointer->iUid.iUid != KCBitwiseBitmapHardwareUid.iUid)
-		{
-		iFlags = EIsExtendedBitmap;
-		}
-	ret = iFbs->iHelper->AddBitmap(*this);
-	if (ret != KErrNone)
-		{
-		return ret;
-		}
-	return iFbs->AllocScanLineBuffer(iAddressPointer->iByteWidth+4);
-	}
+    else
+        {
+        TBool isinrom = EFalse;
+        ret = User::IsRomAddress(isinrom, (TAny*)aBitmapHandle);
+        if (ret == KErrNone)
+            {
+            if (isinrom)
+                {
+                ret = DuplicateInRom(aBitmapHandle);
+                FBS_OST_IF(ret != KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATE_ERROR4, "! this=0x%08x; DuplicateInRom() returned %d;", (TUint)this, ret);)
+                }
+            else
+                {
+                ret = DuplicateInRam(aBitmapHandle);
+                FBS_OST_IF(ret != KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATE_ERROR5, "! this=0x%08x; DuplicateInRam() returned %d;", (TUint)this, ret);)
+                }
+            }
+        else 
+            {
+            FBS_OST(OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATE_ERROR3, "! this=0x%08x; IsRomAddress() returned %d", (TUint)this, ret);)
+            ret = KErrUnknown;
+            }
+        }
+    FBS_OST(TInt ssh = (iFbs ? iFbs->ServerSessionHandle() : 0);)
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_DUPLICATE_EXIT, "< this=0x%08x; iH=0x%08x; iSH=0x%08x; ret=%d; iSSH=0x%08x", (TUint)this, iHandle, iServerHandle, ret, ssh);)
+	return ret;
+    }
+
+/** Duplicates a bitmap where the bitmap handle refers to a rom bitmap.
+@param aBitmapHandle A valid Rom bitmap handle.
+@return KErrNone on success.
+ */
+TInt CFbsBitmap::DuplicateInRom(TInt aBitmapHandle)
+    {
+    TInt ret = KErrNone;
+    Reset();
+    TUid uid = ((CBitwiseBitmap*)aBitmapHandle)->Uid();
+    if (uid != KCBitwiseBitmapUid)
+        {
+        FBS_OST(OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATEINROM_ERROR, "! this=0x%08x; 0x%08x != KCBitwiseBitmapUid", (TUint)this, (TUint)uid.iUid);)
+        ret = KErrUnknown;
+        }
+    else
+        {
+        iAddressPointer = (CBitwiseBitmap*)aBitmapHandle;
+        iFlags = EIsRomBitmap;
+        iHandle=1;
+        ret = iFbs->AllocScanLineBuffer(iAddressPointer->iByteWidth + 4);
+        FBS_OST_IF(ret!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATEINROM_ERROR2, "! this=0x%08x; AllocScanLineBuffer() returned %d", (TUint)this, ret);)
+        }
+    return ret;
+    }
+
+/** Duplicates a bitmap where the bitmap handle refers to a ram bitmap
+@param aBitmapHandle A valid Ram bitmap handle.
+@return KErrNone on success.
+ */
+TInt CFbsBitmap::DuplicateInRam(TInt aBitmapHandle)
+    {
+    TInt ret = KErrNone;
+    Reset();
+     
+    TPckgBuf<TBmpHandles> b;
+    TIpcArgs args(aBitmapHandle,&b);
+    ret=iFbs->SendCommand(EFbsMessBitmapDuplicate,args);
+    FBS_OST_IF(ret!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATEINRAM_ERROR, "! this=0x%08x; SendCommand(EFbsMessBitmapDuplicate) returned %d", (TUint)this, ret);)
+    if(ret==KErrNone) 
+        {
+        iHandle=b().iHandle;
+        iServerHandle=b().iServerHandle;
+        iAddressPointer=(CBitwiseBitmap*)(iFbs->HeapBase()+b().iAddressOffset);
+        if (iAddressPointer->iUid.iUid != KCBitwiseBitmapUid.iUid && iAddressPointer->iUid.iUid != KCBitwiseBitmapHardwareUid.iUid)
+            {
+            iFlags = EIsExtendedBitmap;
+            }
+        ret = iFbs->iHelper->AddBitmap(*this);
+        FBS_OST_IF(ret!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATEINRAM_ERROR2, "! this=0x%08x; AddBitmap() returned %d", (TUint)this, ret);)
+        if (ret == KErrNone)
+            {
+            ret = iFbs->AllocScanLineBuffer(iAddressPointer->iByteWidth+4);
+            FBS_OST_IF(ret!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_DUPLICATEINRAM_ERROR3, "! this=0x%08x; AllocScanLineBuffer() returned %d", (TUint)this, ret);)
+            }
+        }
+    return ret;
+    }
 
 /** Loads a specific bitmap from a multi-bitmap file.
 The bitmap may be shared by other font and bitmap server clients.
@@ -467,7 +535,10 @@
 */	
 EXPORT_C TInt CFbsBitmap::Load(const TDesC& aFileName,TInt32 aId,TBool aShareIfLoaded)
 	{
-	return Load(aFileName,aId,aShareIfLoaded,0);
+    FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD_ENTRY, "> this=0x%08x; file=%S, id=0x%08x; share=%d", (TUint)this, aFileName, aId, aShareIfLoaded);)
+	TInt err = Load(aFileName,aId,aShareIfLoaded,0);
+    FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD_EXIT, "< this=0x%08x; err=%d", (TUint)this, err);)
+	return err; 
 	}
 
 /**  Loads a specific bitmap from a multi-bitmap file.
@@ -483,38 +554,45 @@
 */	
 EXPORT_C TInt CFbsBitmap::Load(const TDesC& aFileName,TInt32 aId,TBool aShareIfLoaded,TUint aFileOffset)
 	{
+    TInt err = KErrNone;
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD2_ENTRY, "> this=0x%08x; file=%S, id=0x%08x; share=%d; off=%d", (TUint)this, aFileName, aId, aShareIfLoaded, aFileOffset);)
 	if(!iFbs)
 		{
-		return(KErrCouldNotConnect);
-		}
-	Reset();
-	TUint32* rompointer = NULL;
-	//access using filename has the advantage of using rom address lookup cache
-	IsFileInRom(aFileName, rompointer);
-	TBool romPointerValid;
-	TInt err = DoLoadFromRom(rompointer, aId, aFileOffset, romPointerValid);
-	if(romPointerValid)
-		{
-		return err;
-		}
-	_LIT(KResourcePath, "?:\\Resource\\*");
-	TInt match = aFileName.MatchF(KResourcePath);
-	//if the file is in the resource directory we don't need to check capabilities and the file can just be opened on the server side.
-	if (match == 0)
-		{
-		err = DoLoad(aFileName,aId,aShareIfLoaded,aFileOffset);
+        FBS_OST(OstTrace1( TRACE_ERROR, CFBSBITMAP_LOAD2_ERROR, "! this=0x%08x; !iFbs", (TUint)this);)
+		err = KErrCouldNotConnect;
 		}
 	else
-		{
-		RFile file;
-		err = file.Open(iFbs->FileServer(),aFileName,EFileShareReadersOnly);
-		if (err!=KErrNone)
-			{
-			return err;
-			}
-		err = DoLoad(file,aId,aShareIfLoaded,aFileOffset);
-		file.Close();
-		}
+	    {
+        Reset();
+        TUint32* rompointer = NULL;
+        //access using filename has the advantage of using rom address lookup cache
+        IsFileInRom(aFileName, rompointer);
+        TBool romPointerValid;
+        err = DoLoadFromRom(rompointer, aId, aFileOffset, romPointerValid);
+        if(!romPointerValid)
+            {
+            _LIT(KResourcePath, "?:\\Resource\\*");
+            TInt match = aFileName.MatchF(KResourcePath);
+            //if the file is in the resource directory we don't need to check capabilities and the file can just be opened on the server side.
+            if (match == 0)
+                {
+                err = DoLoad(aFileName,aId,aShareIfLoaded,aFileOffset);
+                FBS_OST_IF(err!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_LOAD2_ERROR3, "! this=0x%08x; DoLoad returned %d", (TUint)this, err);)
+                }
+            else
+                {
+                RFile file;
+                err = file.Open(iFbs->FileServer(),aFileName,EFileShareReadersOnly);
+                if (err==KErrNone)
+                    {
+                    err = DoLoad(file,aId,aShareIfLoaded,aFileOffset);
+                    FBS_OST_IF(err!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_LOAD2_ERROR4, "! this=0x%08x; DoLoad returned %d", (TUint)this, err);)
+                    }
+                file.Close();
+                }
+            }
+	    }
+    FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD2_EXIT, "< this=0x%08x; err=%d", (TUint)this, err);)
 	return err;
 	}
 
@@ -532,7 +610,10 @@
 */	
 EXPORT_C TInt CFbsBitmap::LoadAndCompress(const TDesC& aFileName,TInt32 aId,TBool aShareIfLoaded)
     {	
-    return LoadAndCompress(aFileName, aId, aShareIfLoaded, 0);
+    FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS_ENTRY, "> this=0x%08x; file=%S; id=0x%08x; share=%d", (TUint)this, aFileName, aId, aShareIfLoaded);)
+    TInt ret = LoadAndCompress(aFileName, aId, aShareIfLoaded, 0);
+    FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS_EXIT, "< this=0x%08x; err=%d", (TUint)this, ret);)
+    return ret;
 	}
 
 /** Loads and compresses a specific bitmap from a multi-bitmap file.
@@ -549,12 +630,15 @@
 @released
 */	
 EXPORT_C TInt CFbsBitmap::LoadAndCompress(const TDesC& aFileName,TInt32 aId,TBool aShareIfLoaded,TUint aFileOffset)
-    {	
+    {
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS2_ENTRY, "> this=0x%08x; file=%S, id=0x%08x; share=%d; off=%d", (TUint)this, aFileName, aId, aShareIfLoaded, aFileOffset);)
 	TInt err = Load(aFileName,aId,aShareIfLoaded,aFileOffset);
 	if (err == KErrNone)
 		{
 		err = !(iFlags & EIsRomBitmap) ? Compress() : KErrAccessDenied;
+		FBS_OST_IF(err!=KErrNone, OstTraceExt3( TRACE_ERROR, CFBSBITMAP_LOADANDCOMPRESS2_ERROR, "! this=0x%08x; iFlags=0x%08x; err=%d", (TUint)this, (TUint)iFlags, err);)
 		}
+	FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS2_EXIT, "< this=0x%08x; err=%d", (TUint)this, err);)
 	return err;
 	}
 
@@ -1151,7 +1235,7 @@
 	CBitwiseBitmap* bitmap = CleanAddress();
 	if (bitmap==NULL)
 		{
-			return EFalse;
+		return EFalse;
 		}	
 	return bitmap->IsCompressedInRAM();
 	}
@@ -1250,10 +1334,16 @@
 */
 EXPORT_C void CFbsBitmap::BeginDataAccess() const
 	{
-	if (!iHandle)
-		return;
-	(void)CleanAddress();	//called for side-effect to make sure bitmap reference is current. Should be low overhead.
-	const_cast<CFbsBitmap*>(this)->iUseCount++;
+    FBS_OST_VERBOSE(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_BEGINDATAACCESS_ENTRY, "> this=0x%08x;", (TUint)this););
+	FBS_OST_IF(!iHandle, OstTrace1(TRACE_ERROR, CFBSBITMAP_BEGINDATAACCESS_ERROR, "! this=0x%08x; !iHandle", (TUint)this););
+	
+	if (iHandle)
+	    {
+        (void)CleanAddress();	//called for side-effect to make sure bitmap reference is current. Should be low overhead.
+        const_cast<CFbsBitmap*>(this)->iUseCount++;
+	    }
+    
+	FBS_OST_VERBOSE(OstTraceExt2(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_BEGINDATAACCESS_EXIT, "< this=0x%08x; iUseCount=%d;", (TUint)this, const_cast<CFbsBitmap*>(this)->iUseCount);)
 	}
 
 /** Marks the end of direct access to the bitmap data.
@@ -1271,11 +1361,17 @@
 */
 EXPORT_C void CFbsBitmap::EndDataAccess(TBool aReadOnly) const
 	{
-	if (!iHandle)
-		return;
-	const_cast<CFbsBitmap*>(this)->iUseCount--;
-	if (!aReadOnly && !(iFlags & EIsReadOnlyBitmapMask))
-		User::LockedInc(iAddressPointer->Extra()->iTouchCount);
+    FBS_OST_VERBOSE(OstTraceExt2(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_ENDDATAACCESS_ENTRY, "> this=0x%08x; aReadOnly=%d;", (TUint)this, (TUint)aReadOnly);)
+    FBS_OST_IF(!iHandle, OstTrace1(TRACE_ERROR, CFBSBITMAP_ENDDATAACCESS_ERROR, "! this=0x%08x; !iHandle", (TUint)this););
+    if (iHandle)
+        {
+        const_cast<CFbsBitmap*>(this)->iUseCount--;
+        if (!aReadOnly && !(iFlags & EIsReadOnlyBitmapMask))
+            {
+            User::LockedInc(iAddressPointer->Extra()->iTouchCount);
+            }
+        }
+    FBS_OST_VERBOSE(OstTraceExt2(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_ENDDATAACCESS_EXIT, "< this=0x%08x; iUseCount=%d;", (TUint)this, const_cast<CFbsBitmap*>(this)->iUseCount);)
 	}
 
 /** Locks the global bitmap heap.
@@ -1299,12 +1395,12 @@
 */
 EXPORT_C void CFbsBitmap::LockHeap(TBool /*aAlways*/) const
 	{
+    FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_LOCKHEAP_ENTRY, "> this=0x%08x;", (TUint)this);)
 	BeginDataAccess();
 #ifdef SYMBIAN_DEBUG_FBS_LOCKHEAP
 	//These debug checks now refer to the cleaned data address
-	if (!iHandle)
-		return;
-	if (!(iFlags & EIsRomBitmap)) // can't do anything with ROM bitmaps
+    FBS_OST_IF(!iHandle, OstTrace1(TRACE_ERROR, CFBSBITMAP_LOCKHEAP_ERROR, "! this=0x%08x; !iHandle", (TUint)this););
+	if (iHandle && !(iFlags & EIsRomBitmap)) // can't do anything with ROM bitmaps
 		{
 		TThreadId threadId = RThread().Id();
 		iFbs->iHelper->iDebugMutex.Wait();
@@ -1318,6 +1414,7 @@
 		iFbs->iHelper->iDebugMutex.Signal();
 		}
 #endif
+	FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_LOCKHEAP_EXIT, "< this=0x%08x;", (TUint)this);)
 	}
 
 /** Unlocks the global heap. 
@@ -1332,21 +1429,25 @@
 */
 EXPORT_C void CFbsBitmap::UnlockHeap(TBool /*aAlways*/) const
 	{
+    FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_UNLOCKHEAP_ENTRY, "> this=0x%08x;", (TUint)this);)
+    FBS_OST_IF(!iHandle, OstTrace1(TRACE_ERROR, CFBSBITMAP_UNLOCKHEAP_ERROR, "! this=0x%08x; !iHandle", (TUint)this););
+	if (iHandle)
+	    {
 #ifdef SYMBIAN_DEBUG_FBS_LOCKHEAP
-	if (!iHandle)
-		return;
-	if (!(iFlags & EIsRomBitmap)) // can't do anything with ROM bitmaps
-		{
-		TThreadId threadId = RThread().Id();
-		iFbs->iHelper->iDebugMutex.Wait();
-		__ASSERT_ALWAYS(iAddressPointer->Extra()->iLockCount > 0, Panic(EFbsPanicBadHeapLock));
-		__ASSERT_ALWAYS(iAddressPointer->Extra()->iThreadId == threadId, Panic(EFbsPanicBadHeapLock));
-		if (--iAddressPointer->Extra()->iLockCount == 0)
-			iAddressPointer->Extra()->iThreadId = TThreadId(KNullThreadId);
-		iFbs->iHelper->iDebugMutex.Signal();
-		}
+	    if (!(iFlags & EIsRomBitmap)) // can't do anything with ROM bitmaps
+            {
+            TThreadId threadId = RThread().Id();
+            iFbs->iHelper->iDebugMutex.Wait();
+            __ASSERT_ALWAYS(iAddressPointer->Extra()->iLockCount > 0, Panic(EFbsPanicBadHeapLock));
+            __ASSERT_ALWAYS(iAddressPointer->Extra()->iThreadId == threadId, Panic(EFbsPanicBadHeapLock));
+            if (--iAddressPointer->Extra()->iLockCount == 0)
+                iAddressPointer->Extra()->iThreadId = TThreadId(KNullThreadId);
+            iFbs->iHelper->iDebugMutex.Signal();
+            }
 #endif
-	EndDataAccess();
+	    EndDataAccess();
+	    }
+	FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_UNLOCKHEAP_EXIT, "< this=0x%08x;", (TUint)this);)
 	}
 
 /** Locks the global bitmap heap, leaving on the clean-up stack a pointer
@@ -1362,14 +1463,18 @@
 */
 EXPORT_C void CFbsBitmap::LockHeapLC(TBool /*aAlways*/) const
 	{
-	LockHeap();
+    FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_LOCKHEAPLC_ENTRY, "> this=0x%08x;", (TUint)this);)
+    LockHeap();
 	TCleanupItem cleanitem(CFbsBitmap::UnlockHeap, (TAny*)this);
 	CleanupStack::PushL(cleanitem);
+	FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_LOCKHEAPLC_EXIT, "< this=0x%08x;", (TUint)this);)
 	}
 
 EXPORT_C void CFbsBitmap::UnlockHeap(TAny* aFbsBitmap)
 	{
-	((CFbsBitmap*)aFbsBitmap)->UnlockHeap();
+    FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_UNLOCKHEAP2_ENTRY, "> bitmap=0x%08x;", (TUint)aFbsBitmap);)
+    ((CFbsBitmap*)aFbsBitmap)->UnlockHeap();
+    FBS_OST(OstTrace0(GRAPHICS_CONTROL_FUNCTIONS, CFBSBITMAP_UNLOCKHEAP2_EXIT, "<");)
 	}
 
 /** Tests whether the bitmap is volatile.
@@ -1398,7 +1503,7 @@
 EXPORT_C TInt CFbsBitmap::TouchCount() const
 	{
 	if (!iHandle || (iFlags & EIsReadOnlyBitmapMask))
-			return 0; // A read-only bitmap can never be touched.
+		return 0; // A read-only bitmap can never be touched.
 	return CleanAddress()->Extra()->iTouchCount;
 	}
 
@@ -1723,7 +1828,12 @@
 */	
 EXPORT_C TInt CFbsBitmap::Load(RFile& aFile,TInt32 aId/*=0*/,TBool aShareIfLoaded/*=ETrue*/)
 	{
-	return Load(aFile,aId,aShareIfLoaded,0);
+    FBS_OST(TFullName fileName;)
+    FBS_OST(aFile.FullName(fileName);)
+    FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD3_ENTRY, "> this=0x%08x; file=%S; id=0x%08x; share=%d", (TUint)this, fileName, aId, aShareIfLoaded);)
+	TInt ret = Load(aFile,aId,aShareIfLoaded,0);
+    FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD3_EXIT, "< this=0x%08x, ret=%d", (TUint)this, ret);) 
+	return ret;
 	}
 
 /** Loads a specific bitmap from an opened multi-bitmap file handle.
@@ -1739,19 +1849,29 @@
 */	
 EXPORT_C TInt CFbsBitmap::Load(RFile& aFile,TInt32 aId,TBool aShareIfLoaded,TUint aFileOffset)
 	{
+    TInt err = KErrNone;
+    FBS_OST(TFullName fileName;)
+    FBS_OST(aFile.FullName(fileName);)
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD4_ENTRY, "> this=0x%08x; file=%S; id=0x%08x; share=%d; off=%d", (TUint)this, fileName, aId, aShareIfLoaded, aFileOffset);)
 	if (!iFbs)
 		{
-		return(KErrCouldNotConnect);
+        FBS_OST(OstTrace1( TRACE_ERROR, CFBSBITMAP_LOAD4_ERROR, "! this=0x%08x; !iFbs", (TUint)this);)
+		err = KErrCouldNotConnect;
 		}
-	Reset();
-	TUint32* rompointer;
-	IsFileInRom(aFile,rompointer);
-	TBool romPointerValid;
-	TInt err = DoLoadFromRom(rompointer, aId, aFileOffset, romPointerValid);
-	if (!romPointerValid)
-		{
-		err = DoLoad(aFile,aId,aShareIfLoaded,aFileOffset);
-		}
+	else
+	    {
+        Reset();
+        TUint32* rompointer;
+        IsFileInRom(aFile,rompointer);
+        TBool romPointerValid;
+        err = DoLoadFromRom(rompointer, aId, aFileOffset, romPointerValid);
+        if (!romPointerValid)
+            {
+            err = DoLoad(aFile,aId,aShareIfLoaded,aFileOffset);
+            FBS_OST_IF(err!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_LOAD4_ERROR2, "! this=0x%08x; DoLoad() returned %d", (TUint)this, err);)
+            }
+	    }
+	FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOAD4_EXIT, "< this=0x%08x; err=%d", (TUint)this, err);)
 	return err;
 	}
 
@@ -1769,7 +1889,12 @@
 */	
 EXPORT_C TInt CFbsBitmap::LoadAndCompress(RFile& aFile,TInt32 aId/*=0*/,TBool aShareIfLoaded/*=ETrue*/)
 	{
-	return LoadAndCompress(aFile,aId,aShareIfLoaded,0);
+    FBS_OST(TFullName fileName;)
+    FBS_OST(aFile.FullName(fileName);)
+    FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS3_ENTRY, "> this=0x%08x; file=%S; id=0x%08x; share=%d", (TUint)this, fileName, aId, aShareIfLoaded);)      
+	TInt ret = LoadAndCompress(aFile,aId,aShareIfLoaded,0);
+    FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS3_EXIT, "< this=0x%08x; ret=%d", (TUint)this, ret);)
+    return ret;
 	}
 
 /** Loads and compresses a specific bitmap from an opened multi-bitmap file handle.
@@ -1787,11 +1912,24 @@
 */	
 EXPORT_C TInt CFbsBitmap::LoadAndCompress(RFile& aFile,TInt32 aId,TBool aShareIfLoaded,TUint aFileOffset)
 	{
+    FBS_OST(TFullName fileName;)
+    FBS_OST(aFile.FullName(fileName);)
+    FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS4_ENTRY, "> this=0x%08x; file=%S; id=0x%08x; share=%d", (TUint)this, fileName, aId, aShareIfLoaded);)
 	TInt err = Load(aFile,aId,aShareIfLoaded,aFileOffset);
 	if (err == KErrNone)
 		{
-		err = !(iFlags & EIsRomBitmap) ? Compress() : KErrAccessDenied;
+        if (!(iFlags & EIsRomBitmap))
+            {
+            err = Compress();
+            FBS_OST_IF(err!=KErrNone, OstTraceExt2( TRACE_ERROR, CFBSBITMAP_LOADANDCOMPRESS4_ERROR, "! this=0x%08x; Compress() returned %d", (TUint)this, err);)
+            }
+        else
+            {
+            err = KErrAccessDenied;
+            FBS_OST(OstTraceExt2( TRACE_ERROR, CFBSBITMAP_LOADANDCOMPRESS4_ERROR2, "! this=0x%08x; Cannot compress bitmap in ROM; iFlags=0x%08x", (TUint)this, (TUint)iFlags);)
+            }
 		}
+	FBS_OST(OstTraceExt2( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_LOADANDCOMPRESS4_EXIT, "< this=0x%08x; err=%d", (TUint)this, err);)
 	return err;
 	}
 
@@ -1908,15 +2046,22 @@
 */
 EXPORT_C TInt CFbsBitmap::CreateExtendedBitmap(const TSize& aSizeInPixels, TDisplayMode aDispMode, TUid aType, const TAny* aData, TInt aDataSize)
 	{
+    TInt err;
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATEEXTENDEDBITMAP_ENTRY, "> this=0x%08x; w=%d; h=%d; dm=%d; type=0x%08x", (TUint)this, aSizeInPixels.iWidth, aSizeInPixels.iHeight, aDispMode, aType.iUid);)
 	if (!aData || aDataSize == 0)
 		{
-		return KErrArgument;
+        FBS_OST(OstTrace1( TRACE_ERROR, CFBSBITMAP_CREATEEXTENDEDBITMAP_ERROR, "! this=0x%08x; (!aData || aDataSize == 0)", (TUint)this);)
+		err = KErrArgument;
 		}
-	TInt err = DoCreate(aSizeInPixels, aDispMode, aType, aDataSize);
-	if (err == KErrNone)
-		{
-		Mem::Copy(iFbs->iLargeBitmapChunk.Base() + iAddressPointer->iDataOffset, aData, aDataSize);
-		}
+	else
+	    {
+        err = DoCreate(aSizeInPixels, aDispMode, aType, aDataSize);
+        if (err == KErrNone)
+            {
+            Mem::Copy(iFbs->iLargeBitmapChunk.Base() + iAddressPointer->iDataOffset, aData, aDataSize);
+            }
+	    }
+	FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATEEXTENDEDBITMAP_EXIT, "< this=0x%08x; err=%d; iH=0x%08x; iSH=0x%08x", (TUint)this, err, iHandle, iServerHandle);)
 	return err;
 	}
 
@@ -1960,19 +2105,26 @@
 */
 EXPORT_C TInt CFbsBitmap::CreateExtendedBitmap(const TSize& aSizeInPixels, TDisplayMode aDispMode, TUid aType, TInt aDataSize, MFbsExtendedBitmapInitializer& aInitializer)
 	{
+    TInt err; 
+    FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATEEXTENDEDBITMAP2_ENTRY, "> this=0x%08x; w=%d; h=%d; dm=%d; type=0x%08x;", (TUint)this, aSizeInPixels.iWidth, aSizeInPixels.iHeight, aDispMode, aType.iUid);)
 	if (aDataSize == 0)
 		{
-		return KErrArgument;
+        FBS_OST(OstTrace1( TRACE_ERROR, CFBSBITMAP_CREATEEXTENDEDBITMAP2_ERROR, "! this=0x%08x; aDataSize == 0", (TUint)this);)
+		err = KErrArgument;
 		}
-	TInt err = DoCreate(aSizeInPixels, aDispMode, aType, aDataSize);
-	if (err == KErrNone)
-		{
-		err = aInitializer.InitExtendedBitmap(iFbs->iLargeBitmapChunk.Base() + iAddressPointer->iDataOffset, aDataSize);
-		if (err != KErrNone)
-			{
-			Reset();
-			}
-		}
+	else
+	    {
+        err = DoCreate(aSizeInPixels, aDispMode, aType, aDataSize);
+        if (err == KErrNone)
+            {
+            err = aInitializer.InitExtendedBitmap(iFbs->iLargeBitmapChunk.Base() + iAddressPointer->iDataOffset, aDataSize);
+            if (err != KErrNone)
+                {
+                Reset();
+                }
+            }
+	    }
+	FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS, CFBSBITMAP_CREATEEXTENDEDBITMAP2_EXIT, "< this=0x%08x; err=%d; iH=0x%08x; iSH=0x%08x", (TUint)this, err, iHandle, iServerHandle);)
 	return err;
 	}
 
--- a/fbs/fontandbitmapserver/sfbs/FBSCLI.CPP	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/sfbs/FBSCLI.CPP	Fri Sep 03 14:44:32 2010 +0100
@@ -23,6 +23,11 @@
 #include <shapeinfo.h>
 #include <graphics/shaperparams.h>
 #include "glyphatlas.h"
+#include "OstTraceDefinitions.h"
+#include "fbstrace.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "FBSCLITraces.h"
+#endif
 
 
 /**
@@ -250,6 +255,7 @@
 		iIx->Remove(localhandle);
 		iResourceCount--;
 		aMessage.Complete(KErrNone);
+		FBS_OST(OstTraceExt3( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_SERVICEL_INFO, "# Server resource destroyed; iSSH=0x%08x; rc=%d; iH=0x%08x;", iSessionHandle, iResourceCount, localhandle);)
 #ifdef _DEBUG
 		iRet=KErrNone;
 #endif				
@@ -473,6 +479,7 @@
 
 	// success
 	iResourceCount++;
+    FBS_OST(OstTraceExt3( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_HANDLEMESGFONTDUPLICATE_INFO, "# Server font duplicated; iSSH=0x%08x; rc=%d; iH=0x%08x;", iSessionHandle, iResourceCount, localhandle);)
 	return KErrNone;
 	}
 
@@ -562,6 +569,7 @@
 		}
 	// success
 	iResourceCount++;
+	FBS_OST(OstTraceExt3( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_COPYFONTINFOINTORETURNMESSAGE_INFO, "# Server font duplicated; iSSH=0x%08x; rc=%d; iH=0x%08x;", iSessionHandle, iResourceCount, localhandle);)
 	return KErrNone;
 	}
 
@@ -1473,6 +1481,7 @@
 			bmpptr->Close();
 			break;
 			}
+		
 		bmpSpec.iHandle=localhandle;
 		bmpSpec.iServerHandle = bmpptr->Handle();
 		bmpSpec.iAddressOffset=TInt(bmpptr->Address())-TopLevelStore()->HeapBase();
@@ -1484,6 +1493,7 @@
 			return;
 			}
 		iResourceCount++;
+		FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_PROCBITMAPMESSAGE_INFO, "# Server bitmap created; iSSH=0x%08x; rc=%d; iH=0x%08x; iSH=0x%08x; bytes=%d;", iSessionHandle, iResourceCount, bmpSpec.iHandle, bmpSpec.iServerHandle, bmpptr->Address()->DataStride() * bmpSpec.iSizeInPixels.iHeight);)		
 		break;
 		}
 
@@ -1591,6 +1601,7 @@
 			return;
 			}
 		iResourceCount++;
+        FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_PROCBITMAPMESSAGE_INFO2, "# Server bitmap loaded; iSSH=0x%08x; rc=%d; iH=0x%08x; iSH=0x%08x; bytes=%d;", iSessionHandle, iResourceCount, handlebuffer().iHandle, handlebuffer().iServerHandle, bmpptr->Address()->DataStride() * bmpptr->Address()->SizeInPixels().iHeight);)
 		break;
 		}
 	case EFbsMessBitmapResize:
@@ -1666,6 +1677,7 @@
 			aMessage.Panic(KFBSERVPanicCategory, ret);
 			return;
 			}
+        FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_PROCBITMAPMESSAGE_INFO4, "# Server bitmap resized; iSSH=0x%08x; iOldH=0x%08x; iNewH=0x%08x; iNewSH=0x%08x; newbytes=%d;", iSessionHandle, localhandle, newlocalhandle, newbmpptr->Handle(), newbmpptr->Address()->DataStride() * newsize.iHeight);)
 		break;
 		}
 	case EFbsMessBitmapDuplicate:
@@ -1702,6 +1714,7 @@
 			return;
 			}
 		iResourceCount++;
+        FBS_OST(OstTraceExt5( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_PROCBITMAPMESSAGE_INFO3, "# Server bitmap duplicated; iSSH=0x%08x; rc=%d; iH=0x%08x; iSH=0x%08x; bytes=%d;", iSessionHandle, iResourceCount, handlebuffer().iHandle, handlebuffer().iServerHandle, bmpptr->Address()->DataStride() * bmpptr->Address()->SizeInPixels().iHeight);)
 		break;
 		}
 	case EFbsMessBitmapCompress:
@@ -1769,6 +1782,7 @@
 			aMessage.Panic(KFBSERVPanicCategory, ret);
 			return;
 			}
+        FBS_OST(OstTraceExt4( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_PROCBITMAPMESSAGE_INFO5, "# Server bitmap compressed; iSSH=0x%08x; iOldH=0x%08x; iNewH=0x%08x; iNewSH=0x%08x;", (TUint)iSessionHandle, localhandle, newlocalhandle, handlebuffer().iServerHandle);)
 		break;
 		}
 	case EFbsMessBitmapBgCompress:
@@ -1846,6 +1860,7 @@
 			aMessage.Panic(KFBSERVPanicCategory, ret);
 			return;
 			}
+		FBS_OST(OstTraceExt3( GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, CFBCLIENT_PROCBITMAPMESSAGE_INFO6, "# Server bitmap cleaned; iSSH=0x%08x; iOldH=0x%08x; iNewH=0x%08x;", iSessionHandle, localhandle, cleanlocalhandle);)
 		break;
 		}
 	case EFbsGetAllBitmapHandles:
--- a/fbs/fontandbitmapserver/sfbs/SESSION.CPP	Tue Aug 31 17:36:36 2010 +0100
+++ b/fbs/fontandbitmapserver/sfbs/SESSION.CPP	Fri Sep 03 14:44:32 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -21,6 +21,11 @@
 #include "fbshelper.h"
 #include "FbsMessage.H"
 #include <graphics/fbsoogmmessage.h>
+#include "OstTraceDefinitions.h"
+#include "fbstrace.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "SESSIONTraces.h"
+#endif
 
 GLDEF_C void Panic(TFbsPanic aPanic)
 	{
@@ -91,16 +96,33 @@
 */
 EXPORT_C TInt RFbsSession::Connect(RFs& aFileServer)
 	{
+    TInt ret = KErrNone;
 	RFbsSession* thisptr = (RFbsSession*)Dll::Tls();
+	FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, RFBSSESSION_CONNECT_ENTRY, "> this=0x%08x;", (TUint)thisptr);)
 	if(thisptr)
 		{
 		thisptr->iConnections++;
-		return KErrNone;
+		FBS_OST(OstTraceExt2(GRAPHICS_CONTROL_SEMANTICS, RFBSSESSION_CONNECT_INFO, "# Connected to existing session; this=0x%08x; iConnections=%d;", (TInt)thisptr, thisptr->iConnections);)
 		}
-	TInt ret = RFbsSession::DoAlloc(thisptr);
-	if(ret!=KErrNone)
-		return ret;
-	return thisptr->DoConnect(aFileServer);
+	else
+	    {
+        ret = RFbsSession::DoAlloc(thisptr);
+        if(ret!=KErrNone)
+            {
+            FBS_OST(OstTrace1(TRACE_ERROR, RFBSSESSION_CONNECT_ERROR, "! DoAlloc returned %d", ret);)
+            }
+        else
+            {
+            ret = thisptr->DoConnect(aFileServer);
+            if(ret!=KErrNone)
+                {
+                FBS_OST(OstTraceExt2(TRACE_ERROR, RFBSSESSION_CONNECT_ERROR2, "! this=0x%08x; DoConnect returned %d", (TInt)thisptr, ret);)
+                }
+            }
+	    }
+	
+	FBS_OST(OstTraceExt2(GRAPHICS_CONTROL_FUNCTIONS, RFBSSESSION_CONNECT_EXIT, "< this=0x%08x; ret=%d", (TUint)thisptr, ret);)
+	return ret; 
 	}
 
 /** Creates a session with the Font and Bitmap server.
@@ -111,22 +133,40 @@
 */
 EXPORT_C TInt RFbsSession::Connect()
 	{
+    TInt ret = KErrNone;
 	RFbsSession* thisptr = (RFbsSession*)Dll::Tls();
+	FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, RFBSSESSION_CONNECT2_ENTRY, "> this=0x%08x;", (TUint)thisptr);)
 	if(thisptr)
 		{
 		thisptr->iConnections++;
-		return KErrNone;
+	    FBS_OST(OstTraceExt2(GRAPHICS_CONTROL_SEMANTICS, RFBSSESSION_CONNECT2_INFO, "# Connected to existing session; this=0x%08x; iConnections=%d;", (TInt)thisptr, thisptr->iConnections);)
 		}
-	TInt ret = RFbsSession::DoAlloc(thisptr);
-	if (ret!=KErrNone)
-		return ret;
-	ret = thisptr->iFileServer.Connect();
-	if(ret!=KErrNone)
-		{
-		thisptr->Disconnect();
-		return ret;
-		}
-	return thisptr->DoConnect(thisptr->iFileServer);
+	else
+	    {
+        TInt ret = RFbsSession::DoAlloc(thisptr);
+        if (ret!=KErrNone)
+            {
+            FBS_OST(OstTrace1(TRACE_ERROR, RFBSSESSION_CONNECT2_ERROR, "! DoAlloc returned %d", ret);)
+            goto end;
+            }
+            
+        ret = thisptr->iFileServer.Connect();
+        if(ret!=KErrNone)
+            {
+            thisptr->Disconnect();
+            FBS_OST(OstTraceExt2(TRACE_ERROR, RFBSSESSION_CONNECT2_ERROR2, "! this=0x%08x; RFs::Connect() returned %d", (TInt)thisptr, ret);)
+            goto end;
+            }
+        
+        ret = thisptr->DoConnect(thisptr->iFileServer);
+        if(ret!=KErrNone)
+            {
+            FBS_OST(OstTraceExt2(TRACE_ERROR, RFBSSESSION_CONNECT2_ERROR3, "! this=0x%08x; DoConnect returned %d", (TInt)thisptr, ret);)
+            }
+	    }
+end:
+	FBS_OST(OstTraceExt2(GRAPHICS_CONTROL_FUNCTIONS, RFBSSESSION_CONNECT2_EXIT, "< this=0x%08x; ret=%d", (TUint)thisptr, ret);)
+	return ret;
 	}
 
 /** Closes the session with the Font and Bitmap server. 
@@ -136,35 +176,41 @@
 EXPORT_C void RFbsSession::Disconnect()
 	{
 	RFbsSession* thisptr=(RFbsSession*)Dll::Tls();
-	if(thisptr==NULL) return;
-	if(thisptr->iConnections>0)
-		{
-		thisptr->iCallBack.iPtr=NULL;
-		thisptr->iCallBack.CallBack();
-		// Destructor of CFbsSessionHelper may call SendCommand to cancel an
-		// outstanding request, therefore destruction must be done before
-		// iConnections is 0 to avoid an assertion going off.
-		if(thisptr->iConnections==1)
-			{
-			delete thisptr->iHelper;
-			}
-		thisptr->iConnections--;
-		}
-	if(thisptr->iConnections==0)
-		{
-		thisptr->iSharedChunk.Close();
-		thisptr->iLargeBitmapChunk.Close();
-		// Call close on the iFileServer regardless of whether this session owns it: 
-		// if we don't own it, close will do nothing if there are still open files, 
-		// so always calling close introduces extra safety
-		thisptr->iFileServer.Close();
-		delete thisptr->iRomFileAddrCache; 
-		delete thisptr->iScanLineBuffer;
-		delete thisptr->iDecompressionBuffer;
-		thisptr->Close();
-		delete thisptr;
-		Dll::FreeTls();
-		}
+    FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, RFBSSESSION_DISCONNECT_ENTRY, "> this=0x%08x;", (TUint)thisptr);)
+	if(thisptr)
+	    {
+        TInt tempServerSessionHandle = thisptr->ServerSessionHandle();
+        if(thisptr->iConnections>0)
+            {
+            thisptr->iCallBack.iPtr=NULL;
+            thisptr->iCallBack.CallBack();
+            // Destructor of CFbsSessionHelper may call SendCommand to cancel an
+            // outstanding request, therefore destruction must be done before
+            // iConnections is 0 to avoid an assertion going off.
+            if(thisptr->iConnections==1)
+                {
+                delete thisptr->iHelper;
+                }
+            thisptr->iConnections--;
+            }
+        if(thisptr->iConnections==0)
+            {
+            thisptr->iSharedChunk.Close();
+            thisptr->iLargeBitmapChunk.Close();
+            // Call close on the iFileServer regardless of whether this session owns it: 
+            // if we don't own it, close will do nothing if there are still open files, 
+            // so always calling close introduces extra safety
+            thisptr->iFileServer.Close();
+            delete thisptr->iRomFileAddrCache; 
+            delete thisptr->iScanLineBuffer;
+            delete thisptr->iDecompressionBuffer;
+            thisptr->Close();
+            delete thisptr;
+            Dll::FreeTls();	
+            }
+        FBS_OST(OstTraceExt3(GRAPHICS_CONTROL_SEMANTICS, RFBSSESSION_DISCONNECT_INFO, "# Disconnected from session; this=0x%08x; iConnections=%d; iSSH=0x%08x", (TInt)thisptr, thisptr->iConnections, tempServerSessionHandle);)
+	    }
+	FBS_OST(OstTrace1(GRAPHICS_CONTROL_FUNCTIONS, RFBSSESSION_DISCONNECT_EXIT2, "< this=0x%08x;", (TUint)thisptr);)
 	}
 
 /**  Gets the current Font and Bitmap server session.
@@ -359,11 +405,14 @@
 		return KErrNoMemory;
 		}
 	iHelper->iServerSessionHandle = serverAssignedHandle;
+	
 	ret = iLargeBitmapChunk.OpenGlobal(KFBSERVLargeChunkName,EFalse);
 	if(ret!=KErrNone) 
 		Panic(EFbsPanicChunkError);
 	
 	iSpare = (TUint32*)&aFileServer;
+	
+    FBS_OST(OstTraceExt2(GRAPHICS_CONTROL_SEMANTICS, RFBSSESSION_DOCONNECT_INFO, "# New FBS Session created; this=0x%08x; iSSH=0x%08x;", (TInt)this, serverAssignedHandle);)
 	return KErrNone;
 	}
 	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/sfbs/fbstrace.h	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,39 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+#ifndef FBSTRACE_H_
+#define FBSTRACE_H_
+
+#ifdef  GRAPHICS_TRACE
+#  define FBS_OST(x) GRAPHICS_TRACE(x)
+#  define FBS_OST_IF(arg, x) if(arg){GRAPHICS_TRACE(x)}
+#else
+#  ifdef _DEBUG
+#    define FBS_OST(x) x
+#    define FBS_OST_IF(arg, x) if(arg){FBS_OST(x)}
+#  else
+#    define FBS_OST(x)
+#    define FBS_OST_IF(arg, x)
+#  endif
+#endif
+
+#ifdef FBS_VERBOSE
+#  define FBS_OST_VERBOSE(x) FBS_OST(x)
+#  define FBS_OST_VERBOSE_IF(arg, x) FBS_OST_IF(arg, x)
+#else
+#  define FBS_OST_VERBOSE(x)
+#  define FBS_OST_VERBOSE_IF(arg, x)
+#endif
+
+#endif /* FBSTRACE_H_ */
--- a/fbs/fontandbitmapserver/traces/OstTraceDefinitions.h	Tue Aug 31 17:36:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-//#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/fbs/fontandbitmapserver/traces/fixed_id.definitions	Tue Aug 31 17:36:36 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-#Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt.
-[GROUP]TRACE_NORMAL=0x86
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH=0x4
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH_END1=0x7
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH_END2=0x5
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH_END3=0x6
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_DELETELEASTRECENTLYUSEDPAGE=0xb
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_DELETELEASTRECENTLYUSEDPAGE_END=0xc
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_FONTRELEASED=0x8
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_FONTRELEASED_END2=0x9
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_FONTRELEASED_END3=0xa
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_GETGLYPH=0x1
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_GETGLYPH_END1=0x3
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_GETGLYPH_END2=0x2
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_INSTATEGPUMEMORY=0x16
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_INSTATEGPUMEMORY_EXIT=0x17
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_RELEASEGPUMEMORY=0x14
-[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_RELEASEGPUMEMORY_EXIT=0x15
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/traces_FBSCLI/OstTraceDefinitions.h	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+//#define OST_TRACE_COMPILER_IN_USE
+#include <OpenSystemTrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/traces_FBSCLI/fixed_id.definitions	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,85 @@
+#Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt.
+[GROUP]GRAPHICS_CONTROL_FUNCTIONS=0xdf
+[GROUP]GRAPHICS_CONTROL_SEMANTICS=0xe0
+[GROUP]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS=0xde
+[GROUP]TRACE_ERROR=0x82
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_BEGINDATAACCESS_ENTRY=0x1
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_BEGINDATAACCESS_EXIT=0x2
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_ENDDATAACCESS_ENTRY=0x3
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_ENDDATAACCESS_EXIT=0x4
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_LOCKHEAPLC_ENTRY=0x9
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_LOCKHEAPLC_EXIT=0xa
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_LOCKHEAP_ENTRY=0x5
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_LOCKHEAP_EXIT=0x6
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_UNLOCKHEAP2_ENTRY=0xb
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_UNLOCKHEAP2_EXIT=0xc
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_UNLOCKHEAP_ENTRY=0x7
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_CFBSBITMAP_UNLOCKHEAP_EXIT=0x8
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_RFBSSESSION_CONNECT2_ENTRY=0xf
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_RFBSSESSION_CONNECT2_EXIT=0x10
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_RFBSSESSION_CONNECT_ENTRY=0xd
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_RFBSSESSION_CONNECT_EXIT=0xe
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_RFBSSESSION_DISCONNECT_ENTRY=0x11
+[TRACE]GRAPHICS_CONTROL_FUNCTIONS[0xDF]_RFBSSESSION_DISCONNECT_EXIT2=0x12
+[TRACE]GRAPHICS_CONTROL_SEMANTICS[0xE0]_RFBSSESSION_CONNECT2_INFO=0x2
+[TRACE]GRAPHICS_CONTROL_SEMANTICS[0xE0]_RFBSSESSION_CONNECT_INFO=0x1
+[TRACE]GRAPHICS_CONTROL_SEMANTICS[0xE0]_RFBSSESSION_DISCONNECT_INFO=0x3
+[TRACE]GRAPHICS_CONTROL_SEMANTICS[0xE0]_RFBSSESSION_DOCONNECT_INFO=0x4
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATEEXTENDEDBITMAP2_ENTRY=0x1b
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATEEXTENDEDBITMAP2_EXIT=0x1c
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATEEXTENDEDBITMAP_ENTRY=0x19
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATEEXTENDEDBITMAP_EXIT=0x1a
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATEHARDWAREBITMAP_ENTRY=0x5
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATEHARDWAREBITMAP_EXIT=0x6
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATE_ENTRY=0x3
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_CREATE_EXIT=0x4
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_DUPLICATE_ENTRY=0x7
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_DUPLICATE_EXIT=0x8
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD2_ENTRY=0xb
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD2_EXIT=0xc
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD3_ENTRY=0x11
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD3_EXIT=0x12
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD4_ENTRY=0x13
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD4_EXIT=0x14
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS2_ENTRY=0xf
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS2_EXIT=0x10
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS3_ENTRY=0x15
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS3_EXIT=0x16
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS4_ENTRY=0x17
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS4_EXIT=0x18
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS_ENTRY=0xd
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOADANDCOMPRESS_EXIT=0xe
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD_ENTRY=0x9
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_LOAD_EXIT=0xa
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_RESET_ENTRY=0x1
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS[0xDE]_CFBSBITMAP_RESET_EXIT=0x2
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_BEGINDATAACCESS_ERROR=0x10
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_CREATEEXTENDEDBITMAP2_ERROR=0x19
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_CREATEEXTENDEDBITMAP_ERROR=0x18
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATEINRAM_ERROR=0x8
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATEINRAM_ERROR2=0x9
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATEINRAM_ERROR3=0xa
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATEINROM_ERROR=0x6
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATEINROM_ERROR2=0x7
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATE_ERROR=0x1
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATE_ERROR2=0x2
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATE_ERROR3=0x5
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATE_ERROR4=0x3
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_DUPLICATE_ERROR5=0x4
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_ENDDATAACCESS_ERROR=0x11
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOAD2_ERROR=0xb
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOAD2_ERROR2=0xc
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOAD2_ERROR3=0xd
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOAD2_ERROR4=0xe
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOAD4_ERROR=0x14
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOAD4_ERROR2=0x15
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOADANDCOMPRESS2_ERROR=0xf
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOADANDCOMPRESS4_ERROR=0x16
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOADANDCOMPRESS4_ERROR2=0x17
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_LOCKHEAP_ERROR=0x12
+[TRACE]TRACE_ERROR[0x82]_CFBSBITMAP_UNLOCKHEAP_ERROR=0x13
+[TRACE]TRACE_ERROR[0x82]_RFBSSESSION_CONNECT2_ERROR=0x1c
+[TRACE]TRACE_ERROR[0x82]_RFBSSESSION_CONNECT2_ERROR2=0x1d
+[TRACE]TRACE_ERROR[0x82]_RFBSSESSION_CONNECT2_ERROR3=0x1e
+[TRACE]TRACE_ERROR[0x82]_RFBSSESSION_CONNECT_ERROR=0x1a
+[TRACE]TRACE_ERROR[0x82]_RFBSSESSION_CONNECT_ERROR2=0x1b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/traces_FBSERV/OstTraceDefinitions.h	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+//#define OST_TRACE_COMPILER_IN_USE
+#include <OpenSystemTrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/traces_FBSERV/fixed_id.definitions	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,28 @@
+#Fixed group and trace id definitions. If this file is removed, the identifiers are rebuilt.
+[GROUP]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS=0xde
+[GROUP]TRACE_NORMAL=0x86
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_COPYFONTINFOINTORETURNMESSAGE_INFO=0x3
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_HANDLEMESGFONTDUPLICATE_INFO=0x2
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_PROCBITMAPMESSAGE_INFO=0x4
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_PROCBITMAPMESSAGE_INFO2=0x5
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_PROCBITMAPMESSAGE_INFO3=0x7
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_PROCBITMAPMESSAGE_INFO4=0x6
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_PROCBITMAPMESSAGE_INFO5=0x8
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_PROCBITMAPMESSAGE_INFO6=0x9
+[TRACE]GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS[0xDE]_CFBCLIENT_SERVICEL_INFO=0x1
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH=0x4
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH_END1=0x7
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH_END2=0x5
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_ADDGLYPH_END3=0x6
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_DELETELEASTRECENTLYUSEDPAGE=0xb
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_DELETELEASTRECENTLYUSEDPAGE_END=0xc
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_FONTRELEASED=0x8
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_FONTRELEASED_END2=0x9
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_FONTRELEASED_END3=0xa
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_GETGLYPH=0x1
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_GETGLYPH_END1=0x3
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_GETGLYPH_END2=0x2
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_INSTATEGPUMEMORY=0xf
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_INSTATEGPUMEMORY_EXIT=0x10
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_RELEASEGPUMEMORY=0xd
+[TRACE]TRACE_NORMAL[0x86]_CGLYPHATLAS_RELEASEGPUMEMORY_EXIT=0xe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/utils/fbsbitmap_memory.pl	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,318 @@
+#!/usr/local/bin/perl
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#  This script parses trace data produced by OST from FBS, using the the FBSCLI, 
+#  FBSERV and Symbian BTrace Hooks OST dictionaries, to produce a CSV output of
+#  the amount of bitmap memory used per-thread over a user-definable time
+#  granularity, since the start of the trace.
+# 
+#  To use, enable SYMBIAN_KERNEL_THREAD_IDENTIFICATION trace group in Symbian
+#  BTrace Hooks OST dictionary, GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS in FBSERV
+#  OST dictionary, and GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, 
+#  GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS and GRAPHICS_CONTROL_FUNCTIONS in
+#  FBSCLI OST dictionary. Once tracing is gathered, save trace output as ascii 
+#  and run this script against it. The resulting file can then be imported into
+#  a spreadsheet application to be visually processed.
+#  
+#  KNOWN DEFECTS:
+#  Once the log time goes beyond midnight, snapshots will stop being taken.
+#
+
+use strict;
+
+# Sanity checking of the command line parameters...
+if ($#ARGV == -1 || $ARGV[0] eq "help" || $ARGV[0] eq "/?")
+{
+   print "\nusage: $0 filename [-h]\n";
+   print "where\n";
+   print " -h : Specifies the heartbeat in millisecs (default=10000)\n";
+   exit;
+}
+
+
+## Modifiable constants...
+my $CSV_DELIMITER = ',';
+
+# Time after start to take first snapshot, in millisecs
+my $firstHeartBeatTimeMS = 1000;
+
+# Default heartbeat in millisecs if none specified.
+my $heartBeatMS = 10000;
+
+
+##
+## Internal structures...
+##
+my $heartBeatCount = 0;
+my $nextHeartBeatMS = -1;
+
+# A hash of thread names to the amount of bitmap memory they 
+# have used since the start of the trace.
+my %bmpMemoryPerThread = ();
+
+# A hash of bitmaps fully qualified by the session they belong to,
+# and their local handle (because bitmaps can have the same local
+# handle in different threads), mapped to their size in bytes.
+my %bmpMemoryByServerHandle = ();
+
+# Hash of FbsSessions to thread IDs.
+my %SessionThreadMap = ();
+
+# Array of the above hashes, one hash per heartbeat.
+my @arrayOfSnapshots;
+
+# Hashes of thread and process names to IDs.
+my %ThreadNames;
+my %ProcessNames;
+
+
+##
+## Command line options parsing...
+## First arg is assumed to be the filename.
+##
+for my $i (1..$#ARGV)
+{
+   my $cma = $ARGV[$i];
+   if ($cma =~ m/-h(\d*)/)
+   {
+      $heartBeatMS = $1;
+   }
+   else
+   {
+      print "Unrecognised parameter: $cma , ignoring...\n";
+   }
+}
+
+## Read from the file.
+## Read the log into an array line by line.
+my $TRACE_FILENAME = $ARGV[0];
+open(INPUT_FILE, $TRACE_FILENAME) or die $!;
+my @traceLines = <INPUT_FILE>;
+
+
+##
+## Parse each line sequentially...
+##
+foreach my $line (@traceLines)
+{
+   my $timeFromMidnightMS;
+
+   ## 
+   ## If this line is about a new process, make a note of the name and the
+   ## associated process id, so that FbsSessions can be mapped to their 
+   ## thread by name.
+   ##
+   if ($line =~ /^.*Thread:Process name assigned;NThread:(.*);DProcess:(.*);Name:(.*)$/i)
+   {
+      my $threadId  = $1;
+      my $processId = $2;
+      my $processName = $3;
+      $ProcessNames{$processId} = $processName ;
+   }
+
+   ## 
+   ## If this line is about a new process, make a note of the name and the
+   ## associated process id, so that FbsSessions can be mapped to their 
+   ## thread by name when the csv is generated.
+   ##
+   if (($line =~ /^.*Thread:Thread created;NThread:(.*);DProcess:(.*);Name:(.*)$/i) ||
+      ($line =~ /^.*Thread:Thread name assigned;NThread:(.*);DProcess:(.*);Name:(.*)$/i))
+      {
+      my $threadId  = $1;
+      my $processId = $2;
+      my $threadName = $3;
+      my $fullThreadName = $ProcessNames{$processId} . ":" . $threadName;
+      $ThreadNames{$threadId} = $fullThreadName;
+   }
+
+   ##
+   ## Determine timestamp. If this time is beyond the heartbeat, 
+   ## take a snapshot and 
+   ##
+   if ($line =~ /^(\d\d):(\d\d):(\d\d)\.(\d{3})/)
+   {
+      $timeFromMidnightMS = ((($1 * 3600) + ($2 * 60) + $3) * 1000) + $4;
+      # Set up the time for the first snapshot.
+      if ($nextHeartBeatMS == -1) 
+      {
+         $nextHeartBeatMS = $timeFromMidnightMS + $firstHeartBeatTimeMS;
+      }
+   }
+
+   ##
+   ## If heartbeat reached, take snapshot of bmp memory per thread
+   ## and set next heartbeat time.
+   ##
+   while ($timeFromMidnightMS >= $nextHeartBeatMS)
+   {
+      $nextHeartBeatMS += $heartBeatMS;
+      # take a snapshot of the current bitmap memory usage per thread
+      while ((my $thread, my $bmpMemory) = each(%bmpMemoryPerThread))
+      {
+           $arrayOfSnapshots[$heartBeatCount]{$thread} = $bmpMemory;
+      }
+      $heartBeatCount++;
+   }
+
+   ## FBS Client-side traces.
+   if ($line =~ m/\tFBSCLI: /)
+   {
+      ##
+      ## If this line is an FBSCLI trace, and it contains iSSH then
+      ## it gives a chance to map a client thread ID to a session handle.
+      ## 
+      if ( $line =~ m/iSSH=(\w*);.*Thread ID:(.*)$/)
+      {
+         my $ServerSessionHandle = $1;
+         my $thread = $2;
+         if ($thread ne "0x00000000")
+         {
+            $SessionThreadMap{$ServerSessionHandle} = $thread;
+         }
+      }
+   }
+
+   ## 
+   ## FBS Server-side traces.
+   ##
+   if ($line =~ m/\tFBSERV: /)
+   {
+      ## The line must have a s= parameter to be useful - the session server handle.
+      ## Any FBSERV line without this is not considered for parsing.
+      if ($line =~ m/; iSSH=(\w*);/)
+      {
+         my $FbsSessionHandle = $1;
+         my $thread = "Unknown Thread [Session=$FbsSessionHandle]";
+         if (defined($SessionThreadMap{$FbsSessionHandle}))
+         {
+            $thread = $SessionThreadMap{$FbsSessionHandle};
+         }
+         if ($line =~ m/# Server resource destroyed; .*iH=(\w*);/)
+         {
+            my $bmpHandle = $1;
+            my $bmpIdentifier = "$FbsSessionHandle:$bmpHandle";
+            if (defined($bmpMemoryByServerHandle{$bmpIdentifier}))
+            {
+               $bmpMemoryPerThread{$thread} -= $bmpMemoryByServerHandle{$bmpIdentifier};
+               delete $bmpMemoryByServerHandle{$bmpIdentifier};
+            }
+         }
+         if ($line =~ m/# Server bitmap resized; .*iOldH=(\w*); iNewH=(\w*); newbytes=(\d*);/)
+         {
+            # When a bitmap is resized, the amount of memory held by the bitmap may change
+            # and the bitmap localhandle will change.
+            my $oldBmpHandle = $1;
+            my $newBmpHandle = $2;
+            my $newBmpBytes = $3;
+            my $oldBmpIdentifier = "$FbsSessionHandle:$oldBmpHandle";
+            my $newBmpIdentifier = "$FbsSessionHandle:$newBmpHandle";
+            if (defined($bmpMemoryByServerHandle{$oldBmpIdentifier}))
+            {
+               $bmpMemoryPerThread{$thread} -= $bmpMemoryByServerHandle{$oldBmpIdentifier};
+               delete $bmpMemoryByServerHandle{$oldBmpIdentifier};
+            }
+            $bmpMemoryPerThread{$thread} += $newBmpBytes;
+            $bmpMemoryByServerHandle{$newBmpIdentifier} = $newBmpBytes;           
+         }
+         elsif ($line =~ m/#.*iOldH=(\w*); iNewH=(\w*);/)
+         {
+            # When a bitmap is compressed, cleaned or resized, the bitmap local handle changes
+            my $oldBmpHandle = $1;
+            my $newBmpHandle = $2;
+            my $oldBmpIdentifier = "$FbsSessionHandle:$oldBmpHandle";
+            my $newBmpIdentifier = "$FbsSessionHandle:$newBmpHandle";
+            if (defined($bmpMemoryByServerHandle{$oldBmpIdentifier}))
+            {
+               my $bytes = $bmpMemoryByServerHandle{$oldBmpIdentifier};
+               delete $bmpMemoryByServerHandle{$oldBmpIdentifier};
+               $bmpMemoryByServerHandle{$newBmpIdentifier} = $bytes;
+            }
+         }
+         elsif ($line =~ m/#.*iH=(\w*);.*bytes=(\d+);/)
+         {
+            # Duplication of a bitmap typically. When a bitmap is duplicated,
+            # the memory is 'owned' by all threads that duplicate it.
+            my $bmpHandle = $1;
+            my $bmpBytes = $2;
+            my $bmpIdentifier = "$FbsSessionHandle:$bmpHandle";
+            $bmpMemoryPerThread{$thread} += $bmpBytes;
+            $bmpMemoryByServerHandle{$bmpIdentifier} = $bmpBytes;
+         }
+      }
+   }
+}
+
+close (INPUT_FILE);
+
+
+##
+## Make a map of unique threads across all snapshots
+## This is so only one occurrence of each thread will appear
+## in the csv file.
+##
+my %uniqueThreads = ();
+for my $i (0..$#arrayOfSnapshots)
+{
+   for my $thread (keys %{$arrayOfSnapshots[$i]})
+   {
+      $uniqueThreads{$thread} = 1;
+   }
+}
+
+##
+## Start writing to file.
+## First row, which contains the heartbeat number column headings...
+##
+my $OUTPUT_FILENAME = sprintf("%s.csv", $TRACE_FILENAME);
+open(OUTPUT_FILE,">$OUTPUT_FILENAME") or die $!;
+print OUTPUT_FILE "Session$CSV_DELIMITER";
+for my $i (0..$heartBeatCount)
+{
+    print OUTPUT_FILE "$i$CSV_DELIMITER";
+}
+
+##
+## For each subsequent row, print the first thread and the
+## memory at each snapshot...
+##
+print OUTPUT_FILE "\n";
+while ((my $thread, my $dummy) = each(%uniqueThreads))
+{
+    # Resolve the thread to its full name...
+    print OUTPUT_FILE "$thread";
+    if (defined($ThreadNames{$thread}) )
+    {
+       my $threadName = $ThreadNames{$thread};
+       print OUTPUT_FILE ":$threadName";
+    }
+    print OUTPUT_FILE "$CSV_DELIMITER";
+
+    # print the memory use per thread, for each snapshot...
+    for my $i (0..$#arrayOfSnapshots)
+    {
+       my %snapshot = %{$arrayOfSnapshots[$i]};
+       while ((my $snapshotThread, my $bmpMemory) = each(%snapshot))
+       {
+           if ($snapshotThread eq $thread) 
+           {
+              print OUTPUT_FILE "$bmpMemory";
+           }
+       }
+       print OUTPUT_FILE "$CSV_DELIMITER";
+    }
+    print OUTPUT_FILE "\n";
+}
+close (OUTPUT_FILE);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/utils/fbsgroup.py	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,76 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Groups an ASCII TracViewer trace by the contents of a named parameter. 	
+#
+
+import fileinput, string, re, sys, threadname
+
+# Utility function to group a list by a given regular expression.
+# returns a dictionary indexed by parameter 1 of the passed in pattern.
+def groupby(pattern, data):
+	r = {}
+	for entry in data:
+		matched = re.search(pattern, entry)
+		if matched:
+			r.setdefault(matched.group(1), []).append(entry)
+	return r
+
+# Show the usage if the parameters are not as expected
+if len(sys.argv) != 3:
+	print "Usage: fbsgroup <param|-t> <input>"
+	print "Where:"
+	print "<param> is a parameter to group by. (-t groups by thread id)"
+	print "<input> is the ASCII TraceViewer file to be parsed"
+	sys.exit(1)
+
+if sys.argv[1] == "-t":
+	pattern = "(Thread ID:0x.*$)"
+else:
+	pattern = "("+sys.argv[1]+"=*\w*);+"
+	
+del sys.argv[1]
+
+# Add thread names to the raw trace
+rawinput = threadname.addnames(fileinput.input())
+
+# Group by the parameter supplied on the command line...
+results = groupby(pattern, rawinput)
+
+for group, entries in results.items():
+		print '\n'+group
+		
+		# Show a count of the number of CFbsBitmap::xxx function calls
+		functions = groupby("(CFbsBitmap::\S+:)", entries)
+		for name, function in functions.items():
+			print "\t%s %s" % (name, len(function))
+		
+		# Show a count of the number of CFbClient::xxx function calls	
+		functions = groupby("(CFbClient::\S+:)", entries)
+		for name, function in functions.items():
+			print "\t%s %s" % (name, len(function))
+		
+		# Show a count of the number of RFbsSession::xxx function calls	
+		functions = groupby("(RFbsSession::\S+:)", entries)
+		for name, function in functions.items():
+			print "\t%s %s" % (name, len(function))
+		
+		# Show the matching entries for this group
+		for entry in entries:
+			print "\t%s" % entry.strip()
+
+		
+
+		
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/utils/fbsresource_count.pl	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,270 @@
+#!/usr/local/bin/perl
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#  This script parses trace data produced by OST from FBS, using the the FBSCLI, 
+#  FBSERV and Symbian BTrace Hooks OST dictionaries, to produce a CSV output of
+#  the amount of FBS resources used per-thread over a user-definable time
+#  granularity, since the start of the trace.
+# 
+#  To use, enable SYMBIAN_KERNEL_THREAD_IDENTIFICATION trace group in Symbian
+#  BTrace Hooks OST dictionary, GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS in FBSERV
+#  OST dictionary, and GRAPHICS_RESOURCE_MANAGEMENT_SEMANTICS, 
+#  GRAPHICS_RESOURCE_MANAGEMENT_FUNCTIONS and GRAPHICS_CONTROL_FUNCTIONS in
+#  FBSCLI OST dictionary. Once tracing is gathered, save trace output as ascii 
+#  and run this script against it. The resulting file can then be imported into
+#  a spreadsheet application to be visually processed.
+#  
+#  KNOWN DEFECTS:
+#  Once the log time goes beyond midnight, snapshots will stop being taken.
+#
+
+use strict;
+
+# Sanity checking of the command line parameters...
+if ($#ARGV == -1 || $ARGV[0] eq "help" || $ARGV[0] eq "/?")
+{
+   print "\nusage: $0 filename [-h]\n";
+   print "where\n";
+   print " -h : Specifies the heartbeat in millisecs (default=10000)\n";
+   exit;
+}
+
+
+## Modifiable constants...
+my $CSV_DELIMITER = ',';
+
+# Time after start to take first snapshot, in millisecs
+my $firstHeartBeatTimeMS = 1000;
+
+# Default heartbeat in millisecs if none specified.
+my $heartBeatMS = 10000;
+
+
+##
+## Internal structures...
+##
+my $heartBeatCount = 0;
+my $nextHeartBeatMS = -1;
+
+# Hash of FbsSessions to thread IDs.
+my %SessionThreadMap = ();
+
+# A hash of thread names to the fbs resource count.
+my %fbsResourcesPerThread = ();
+
+# Array of the above hashes, one hash per heartbeat.
+my @arrayOfSnapshots;
+
+# Hashes of thread and process names to IDs.
+my %ThreadNames;
+my %ProcessNames;
+
+
+##
+## Command line options parsing...
+## First arg is assumed to be the filename.
+##
+for my $i (1..$#ARGV)
+{
+   my $cma = $ARGV[$i];
+   if ($cma =~ m/-h(\d*)/)
+   {
+      $heartBeatMS = $1;
+   }
+   else
+   {
+      print "Unrecognised parameter: $cma , ignoring...\n";
+   }
+}
+
+## Read from the file.
+## Read the log into an array line by line.
+my $TRACE_FILENAME = $ARGV[0];
+open(INPUT_FILE, $TRACE_FILENAME) or die $!;
+my @traceLines = <INPUT_FILE>;
+
+
+##
+## Parse each line sequentially...
+##
+foreach my $line (@traceLines)
+{
+   my $timeFromMidnightMS;
+
+   ## 
+   ## If this line is about a new process, make a note of the name and the
+   ## associated process id, so that FbsSessions can be mapped to their 
+   ## thread by name.
+   ##
+   if ($line =~ /^.*Thread:Process name assigned;NThread:(.*);DProcess:(.*);Name:(.*)$/i)
+   {
+      my $threadId  = $1;
+      my $processId = $2;
+      my $processName = $3;
+      $ProcessNames{$processId} = $processName ;
+   }
+
+   ## 
+   ## If this line is about a new process, make a note of the name and the
+   ## associated process id, so that FbsSessions can be mapped to their 
+   ## thread by name when the csv is generated.
+   ##
+   if (($line =~ /^.*Thread:Thread created;NThread:(.*);DProcess:(.*);Name:(.*)$/i) ||
+      ($line =~ /^.*Thread:Thread name assigned;NThread:(.*);DProcess:(.*);Name:(.*)$/i))
+      {
+      my $threadId  = $1;
+      my $processId = $2;
+      my $threadName = $3;
+      my $fullThreadName = $ProcessNames{$processId} . ":" . $threadName;
+      $ThreadNames{$threadId} = $fullThreadName;
+   }
+
+   ##
+   ## Determine timestamp. If this time is beyond the heartbeat, 
+   ## take a snapshot and 
+   ##
+   if ($line =~ /^(\d\d):(\d\d):(\d\d)\.(\d{3})/)
+   {
+      $timeFromMidnightMS = ((($1 * 3600) + ($2 * 60) + $3) * 1000) + $4;
+      # Set up the time for the first snapshot.
+      if ($nextHeartBeatMS == -1) 
+      {
+         $nextHeartBeatMS = $timeFromMidnightMS + $firstHeartBeatTimeMS;
+      }
+   }
+
+   ##
+   ## If heartbeat reached, take snapshot of bmp memory per thread
+   ## and set next heartbeat time.
+   ##
+   while ($timeFromMidnightMS >= $nextHeartBeatMS)
+   {
+      $nextHeartBeatMS += $heartBeatMS;
+      # take a snapshot of the current bitmap memory usage per thread
+      while ((my $thread, my $fbsResourceCount) = each(%fbsResourcesPerThread))
+      {
+           $arrayOfSnapshots[$heartBeatCount]{$thread} = $fbsResourceCount;
+      }
+      $heartBeatCount++;
+   }
+
+   ## FBS Client-side traces.
+   if ($line =~ m/\tFBSCLI: /)
+   {
+      ##
+      ## If this line is an FBSCLI trace, and it contains iSSH then
+      ## it gives a chance to map a client thread ID to a session handle.
+      ## 
+      if ( $line =~ m/iSSH=(\w*);.*Thread ID:(.*)$/)
+      {
+         my $ServerSessionHandle = $1;
+         my $thread = $2;
+         if ($thread ne "0x00000000")
+         {
+            $SessionThreadMap{$ServerSessionHandle} = $thread;
+         }
+      }
+   }
+
+   ## 
+   ## FBS Server-side traces.
+   ##
+   if ($line =~ m/\tFBSERV: /)
+   {
+      ## The line must have a s= parameter to be useful - the session server handle.
+      ## Any FBSERV line without this is not considered for parsing.
+      if ($line =~ m/; iSSH=(\w*);/)
+      {
+         my $FbsSessionHandle = $1;
+         my $thread = "Unknown Thread [Session=$FbsSessionHandle]";
+         if (defined($SessionThreadMap{$FbsSessionHandle}))
+         {
+            $thread = $SessionThreadMap{$FbsSessionHandle};
+         }
+         if ($line =~ m/; rc=(\d+);/)
+         {
+            my $resourceCount = $1;
+            if ($resourceCount == 0)
+            { 
+               $resourceCount = '';
+            }
+            $fbsResourcesPerThread{$thread} = $resourceCount;
+         }
+      }
+   }
+}
+
+close (INPUT_FILE);
+
+
+##
+## Make a map of unique threads across all snapshots
+## This is so only one occurrence of each thread will appear
+## in the csv file.
+##
+my %uniqueThreads = ();
+for my $i (0..$#arrayOfSnapshots)
+{
+   for my $thread (keys %{$arrayOfSnapshots[$i]})
+   {
+      $uniqueThreads{$thread} = 1;
+   }
+}
+
+##
+## Start writing to file.
+## First row, which contains the heartbeat number column headings...
+##
+my $OUTPUT_FILENAME = sprintf("%s.csv", $TRACE_FILENAME);
+open(OUTPUT_FILE,">$OUTPUT_FILENAME") or die $!;
+print OUTPUT_FILE "Session$CSV_DELIMITER";
+for my $i (0..$heartBeatCount)
+{
+    print OUTPUT_FILE "$i$CSV_DELIMITER";
+}
+
+##
+## For each subsequent row, print the first thread and the
+## memory at each snapshot...
+##
+print OUTPUT_FILE "\n";
+while ((my $thread, my $dummy) = each(%uniqueThreads))
+{
+    # Resolve the thread to its full name...
+    print OUTPUT_FILE "$thread";
+    if (defined($ThreadNames{$thread}) )
+    {
+       my $threadName = $ThreadNames{$thread};
+       print OUTPUT_FILE ":$threadName";
+    }
+    print OUTPUT_FILE "$CSV_DELIMITER";
+
+    # print the memory use per thread, for each snapshot...
+    for my $i (0..$#arrayOfSnapshots)
+    {
+       my %snapshot = %{$arrayOfSnapshots[$i]};
+       while ((my $snapshotThread, my $fbsResourceCount) = each(%snapshot))
+       {
+           if ($snapshotThread eq $thread) 
+           {
+              print OUTPUT_FILE "$fbsResourceCount";
+           }
+       }
+       print OUTPUT_FILE "$CSV_DELIMITER";
+    }
+    print OUTPUT_FILE "\n";
+}
+close (OUTPUT_FILE);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fbs/fontandbitmapserver/utils/threadname.py	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,76 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Utility function to append thread names where the Thread Id maps to a known thread/process name.
+
+import re
+
+# Takes as input list <data> which contains OST traces from the SYMBIAN_KERNEL_THREAD_IDENTIFICATION trace group in Symbian
+# BTrace Hooks OST dictionary. Returns a list with the same content as <data> with thread names appended.
+def addnames(data):
+	result = []
+	processNames = {}
+	threadNames = {}
+	rthreadIds = {}
+	
+	for line in data:		
+		pattern = "^.*Thread:Process name assigned;NThread:(.*);DProcess:(.*);Name:(.*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			processNames[matched.group(2)] = matched.group(3)	
+			
+		pattern = "^.*Thread:Thread created;NThread:(.*);DProcess:(.*);Name:(.*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			threadNames[matched.group(1)] = processNames[matched.group(2)]+":"+matched.group(3)
+		
+		pattern = "^.*Thread:Thread name assigned;NThread:(.*);DProcess:(.*);Name:(.*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			threadNames[matched.group(1)] = processNames[matched.group(2)]+":"+matched.group(3)
+
+		pattern = "^.*Thread:Thread ID assigned;NThread:(.*);DProcess:(.*);RThread ID:(\d*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			rthreadIds[matched.group(3)] = matched.group(1)
+			
+		pattern = "(^.*Thread ID:)(\w*)(.*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			threadId = matched.group(2)
+			if threadNames.has_key(threadId):
+				line = matched.group(1)+threadId+":"+threadNames[threadId]+matched.group(3)
+	
+		pattern = "(^.*clientThreadId )(\w*)(.*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			rthreadIdHex = matched.group(2)
+			rthreadId = hex(rthreadIdHex)
+			if rthreadIds.has_key(rthreadId):
+				threadId = rthreadIds[rthreadId]
+				threadName = threadNames[threadId]
+				line = matched.group(1)+rthreadId+":"+threadName+matched.group(3)
+				
+		pattern = "(^.*threadId )(\w*)(.*)$"
+		matched = re.search(pattern, line)
+		if matched:
+			rthreadIdHex = matched.group(2)
+			rthreadId = hex(rthreadIdHex)
+			if rthreadIds.has_key(rthreadId):
+				threadId = rthreadIds[rthreadId]
+				threadName = threadNames[threadId]
+				line = matched.group(1)+rthreadId+":"+threadName+matched.group(3)
+				
+		result.append(line)
+				
+	return result
\ No newline at end of file
--- a/graphicscomposition/openwfcompositionengine/composition/src/wfcapi.c	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicscomposition/openwfcompositionengine/composition/src/wfcapi.c	Fri Sep 03 14:44:32 2010 +0100
@@ -944,6 +944,9 @@
 
     case WFC_EXTENSIONS:
         tmp = &wfc_extensions[0];
+		/* we know that wfc_extensions always has NULL as the last member 
+		   so this loop will never exceed the size of tmp */
+		/* coverity[overrun-local] */
         for (retVal=0; tmp[retVal] != NULL; retVal++)
         {
             /* get extensions array size */
--- a/graphicscomposition/openwfsupport/src/surfacestream.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicscomposition/openwfsupport/src/surfacestream.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -1097,7 +1097,7 @@
                     if (callBackData && (!aData || (iCallBacks[count].iScreenNumber == susScreenNumber)))
                         {
                         Displayed(ESOWF_ObserverCancel, iCallBacks[count].iScreenNumber, NULL, callBackData, NULL);
-                        delete callBackData;
+                        delete (TNotificationDisplayed*) callBackData;
                         iCallBacks[count].Reset();
                         if (iNumberOfScreenAttachedDisplayedNotif > 0)
                             {
@@ -1111,7 +1111,7 @@
                     if (callBackData && (!aData || (iCallBacks[count].iScreenNumber == susScreenNumber)))
                         {
                         Available(ESOWF_ObserverCancel, iCallBacks[count].iScreenNumber, NULL, callBackData, NULL);
-                        delete callBackData;
+                        delete (TNotificationAvailable*) callBackData;
                         iCallBacks[count].Reset();
                         if (iNumberOfScreenAttachedAvailableNotif > 0)
                             {
@@ -1125,7 +1125,7 @@
                     if (callBackData && (!aData || (iCallBacks[count].iScreenNumber == susScreenNumber)))
                         {
                         DisplayedXTimes(ESOWF_ObserverCancel, iCallBacks[count].iScreenNumber, NULL, callBackData, NULL);
-                        delete callBackData;
+                        delete (TNotificationDisplayedX*) callBackData;
                         iCallBacks[count].Reset();
                         if (iNumberOfScreenAttachedDisplayedXNotif)
                             {
--- a/graphicstest/graphicstestharness/automation/graphicssystemgui.sysdef.xml	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/graphicssystemgui.sysdef.xml	Fri Sep 03 14:44:32 2010 +0100
@@ -121,7 +121,7 @@
 				</collection>
 				<collection name="Graphics Information">
 					<component name="Graphics Docs">
-						<unit mrp="sf\os\graphics\graphics_info\graphicsdocs\graphics_documentation.mrp"/>
+						<unit base="sf\os\graphics\graphics_info\graphicsdocs"/>
 					</component>
 				</collection>
 				<collection name="Graphics Composition">
@@ -215,6 +215,9 @@
 					<component name="Common Graphics Headers">
 						<unit bldFile="sf\os\graphics\graphicsutils\commongraphicsheaders\group" mrp="sf\os\graphics\graphicsutils\commongraphicsheaders\group\graphics_commonheader.mrp"/>
 					</component>
+   				   <component id="graphics_tems" name="Graphics Template Extension Makefiles" introduced="^4" purpose="development" target="desktop" class="tool">
+        				<unit bldFile="graphicsutils/graphics_tems/group"/>
+      				</component>
 				</collection>
 				<collection name="OpenGLES">
 					<component name="OpenGLES Display Properties">
--- a/graphicstest/graphicstestharness/automation/h4/roms.txt	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/h4/roms.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -4,29 +4,30 @@
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test1.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics1_armv5_dpdef','Graphics Test ROM (1) DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_01.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test1.iby fbsrasterizertests.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','h4hrp_graphics1a_armv5_dpdef','Graphics Test ROM (1a) - FbsRasterizer DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_01a.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test2.iby internaltestfonts.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics2_armv5_dpdef','Graphics Test ROM (2) DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_02.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby openvgtest.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics3_armv5_dpdef','Graphics Test ROM (3) - OpenVG DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby supplieropenvgtest.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics3a_armv5_dpdef','Graphics Test ROM (3a) - OpenVG tests requiring USB/Memory Card support DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03a.txt' ,'')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec wserv.oby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics4_armv5_dpdef','Graphics Test ROM (4) - WServ DP Default','\epoc32\data\z\system\data\ws_test.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec wserv.oby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics4ct_armv5_dpdef','Graphics Test ROM (4ct) - WServ Change Tracking DP Default','\epoc32\data\z\system\data\ws_test_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04ct.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby openvgtest.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics3_armv5_dpdef','Graphics Test ROM (3) - OpenVG DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby supplieropenvgtest.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics3a_armv5_dpdef','Graphics Test ROM (3a) - OpenVG tests requiring USB/Memory Card support DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03a.txt' ,'')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec wserv.oby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics4_armv5_dpdef','Graphics Test ROM (4) - WServ DP Default','\epoc32\data\z\system\data\ws_test.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec wserv.oby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics4ct_armv5_dpdef','Graphics Test ROM (4ct) - WServ Change Tracking DP Default','\epoc32\data\z\system\data\ws_test_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04ct.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby te_uibench.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','h4hrp_graphics5a_armv5_dpdef','Graphics Test ROM (5a) - UIBench DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_05a.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby internaltestfonts.iby te_outlineshadow.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DGRAPHICS_EXCLUDE_FREETYPE','h4hrp_graphics5b_armv5_dpdef','Graphics Test ROM (5b) - UIBench - Outline Shadow DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_05b.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby te_uibench_s60.iby egl.iby opengles.iby openvg.iby internaltestfonts.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','h4hrp_uibench_s60_armv5_dpdef','Graphics Test ROM UIBench S60 DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_uibench_s60.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test2.iby wservtest.iby csc_plugin.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics7_armv5_dpdef','Graphics Test ROM (7) DP Default','\epoc32\data\z\graphics\wsini_integ_color64k.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_07.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec t_wservinteg.iby opengles.iby graphics_testharness.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics8_armv5_dpdef','Graphics Test ROM (8) - WServ Integ DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini;\epoc32\data\z\system\data\testexecute_modified.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_08.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test2.iby wservtest.iby csc_plugin.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics7_armv5_dpdef','Graphics Test ROM (7) DP Default','\epoc32\data\z\graphics\wsini_integ_color64k.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_07.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec t_wservinteg.iby opengles.iby graphics_testharness.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics8_armv5_dpdef','Graphics Test ROM (8) - WServ Integ DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini;\epoc32\data\z\system\data\testexecute_modified.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_08.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom textshell platsec surfacemanagertest.iby wservtest.iby gce_tests.iby tdisplaychannel.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics9_armv5_dpdef','Graphics Test ROM (9) - Hybrid GCE DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_09.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test2.iby wservtest.iby csc_plugin.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics12_armv5_dpdef','Graphics Test ROM (12) DP Default','\epoc32\data\z\graphics\wsini_integ_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_12.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_wservgenericplugin.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics13_armv5_dpdef','Graphics Test ROM (13) - Generic Plugin DP Default','\epoc32\data\z\wstest\genericplugin\wsini_nga.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_13.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_test2.iby wservtest.iby csc_plugin.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics12_armv5_dpdef','Graphics Test ROM (12) DP Default','\epoc32\data\z\graphics\wsini_integ_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_12.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_wservgenericplugin.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics13_armv5_dpdef','Graphics Test ROM (13) - Generic Plugin DP Default','\epoc32\data\z\wstest\genericplugin\wsini_nga.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_13.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby twservstresstest.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics15_armv5_dpdef','Graphics Test ROM (15) - Stress DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_15.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics16_armv5_dpdef','Graphics Test ROM (16) - Extended Bitmap Render Stage DP Default','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_16.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_ratelimiter.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics17_armv5_dpdef','Graphics Test ROM (17) - Rate Limiter DP Default','\epoc32\data\z\wstest\ratelimiter\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_17.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby openvgtest.iby surfaceupdatetest_integ.iby t_gcenotification.iby graphics_test2.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics18_armv5_dpdef','Graphics Test ROM (18) - Composited Screen Capture DP Default','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_18.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphicseglhybrid_armv5_dpdef','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglhybrid.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF','h4hrp_graphicseglref_armv5_dpdef','Graphics Test ROM (eglref) - EGL Reference Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglref.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics16_armv5_dpdef','Graphics Test ROM (16) - Extended Bitmap Render Stage DP Default','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_16.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_ratelimiter.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics17_armv5_dpdef','Graphics Test ROM (17) - Rate Limiter DP Default','\epoc32\data\z\wstest\ratelimiter\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_17.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby openvgtest.iby surfaceupdatetest_integ.iby t_gcenotification.iby graphics_test2.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics18_armv5_dpdef','Graphics Test ROM (18) - Composited Screen Capture DP Default','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_18.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphicseglhybrid_armv5_dpdef','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglhybrid.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF','h4hrp_graphicseglref_armv5_dpdef','Graphics Test ROM (eglref) - EGL Reference Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglref.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby talf.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','h4hrp_graphics23_armv5_dpdef','Graphics Test ROM (23) - ALF/ChangeTracking DP Default','\epoc32\data\z\talf\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_23.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT','h4hrp_graphics24_armv5_dpdef','Graphics Test ROM (24) - BitGDI Renderstage DP Default','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_24.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT','h4hrp_graphics24_armv5_dpdef','Graphics Test ROM (24) - BitGDI Renderstage DP Default','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_24.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec wserv.oby graphics_testharness.iby talf.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics25_armv5_dpdef','Graphics Test ROM (25) - ALF/ChangeTracking per screen DP Default','\epoc32\data\z\talf\wsini_ct_per_screen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_25.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics29a_armv5_dpdef','Graphics Test ROM (29a) - Layer Composition DP Default','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29a.txt','')
-RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics29b_armv5_dpdef','Graphics Test ROM (29b) - Layer Composition, No Autoclear DP Default','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29b.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics29a_armv5_dpdef','Graphics Test ROM (29a) - Layer Composition DP Default','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29a.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics29b_armv5_dpdef','Graphics Test ROM (29b) - Layer Composition, No Autoclear DP Default','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29b.txt','')
+RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby tfxrenderstage.iby test_tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphics30_armv5_dpdef','Graphics Test ROM (30) - TFX tests DP Default','\epoc32\data\z\system\data\wsini_tfxrenderstage.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_30.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec appfwk_test.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_DEBUG','h4hrp_uiframeworks_armv5_dpdef','UI Frameworks DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_uif.txt','')
 RomAndAutoRom('armv5','h4hrp minigui pagedrom platsec graphics_testharness.iby sgresourcetest.iby opengles.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','h4hrp_graphicsresource_armv5_dpdef','Graphics Test ROM (GRI) - Graphics Resource DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_gri.txt','')
 Rom('armv5', 'h4hrp minigui', '-nosymbols -D__MMC -DUSE_SDIO_SD_MMC', 'h4hrp_minigui', 'MiniGUI ROM', '' )
--- a/graphicstest/graphicstestharness/automation/h4/roms.wdp.txt	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/h4/roms.wdp.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -4,32 +4,33 @@
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test1.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics1_armv5_wdp','Graphics Test ROM (1) WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_01.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test1.iby fbsrasterizertests.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>" -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics1a_armv5_wdp','Graphics Test ROM (1a) - FbsRasterizer WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_01a.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test2.iby internaltestfonts.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics2_armv5_wdp','Graphics Test ROM (2) WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_02.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby openvgtest.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics3_armv5_wdp','Graphics Test ROM (3) - OpenVG WDP','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby supplieropenvgtest.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics3a_armv5_wdp','Graphics Test ROM (3a) - OpenVG tests requiring USB/Memory Card support WDP','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03a.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec wserv.oby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics4_armv5_wdp','Graphics Test ROM (4) - WServ WDP','\epoc32\data\z\system\data\ws_test.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec wserv.oby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics4ct_armv5_wdp','Graphics Test ROM (4ct) - WServ Change Tracking WDP','\epoc32\data\z\system\data\ws_test_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04ct.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby openvgtest.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics3_armv5_wdp','Graphics Test ROM (3) - OpenVG WDP','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby supplieropenvgtest.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics3a_armv5_wdp','Graphics Test ROM (3a) - OpenVG tests requiring USB/Memory Card support WDP','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_03a.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec wserv.oby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics4_armv5_wdp','Graphics Test ROM (4) - WServ WDP','\epoc32\data\z\system\data\ws_test.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec wserv.oby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics4ct_armv5_wdp','Graphics Test ROM (4ct) - WServ Change Tracking WDP','\epoc32\data\z\system\data\ws_test_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_04ct.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby te_uibench.iby internaltestfonts.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>" -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics5a_armv5_wdp','Graphics Test ROM (5a) - UIBench WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_05a.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby internaltestfonts.iby te_outlineshadow.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DGRAPHICS_EXCLUDE_FREETYPE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics5b_armv5_wdp','Graphics Test ROM (5b) - UIBench - Outline Shadow WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_05b.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby te_uibench_s60.iby egl.iby opengles.iby openvg.iby internaltestfonts.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>" -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_uibench_s60_armv5_wdp','Graphics Test ROM UIBench S60 WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_uibench_s60.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics7_armv5_wdp','Graphics Test ROM (7) WDP','\epoc32\data\z\graphics\wsini_integ_color64k.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_07.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec t_wservinteg.iby opengles.iby graphics_testharness.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics8_armv5_wdp','Graphics Test ROM (8) - WServ Integ WDP','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_08.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics7_armv5_wdp','Graphics Test ROM (7) WDP','\epoc32\data\z\graphics\wsini_integ_color64k.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_07.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec t_wservinteg.iby opengles.iby graphics_testharness.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics8_armv5_wdp','Graphics Test ROM (8) - WServ Integ WDP','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_08.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom textshell platsec surfacemanagertest.iby wservtest.iby gce_tests.iby tdisplaychannel.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics9_armv5_wdp','Graphics Test ROM (9) - Hybrid GCE WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_09.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics12_armv5_wdp','Graphics Test ROM (12) WDP','\epoc32\data\z\graphics\wsini_integ_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_12.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_wservgenericplugin.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics13_armv5_wdp','Graphics Test ROM (13) - Generic Plugin WDP','\epoc32\data\z\wstest\genericplugin\wsini_nga.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_13.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics12_armv5_wdp','Graphics Test ROM (12) WDP','\epoc32\data\z\graphics\wsini_integ_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_12.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_wservgenericplugin.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics13_armv5_wdp','Graphics Test ROM (13) - Generic Plugin WDP','\epoc32\data\z\wstest\genericplugin\wsini_nga.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_13.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby twservstresstest.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics15_armv5_wdp','Graphics Test ROM (15) - Stress WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_15.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics16_armv5_wdp','Graphics Test ROM (16) - Extended Bitmap Render Stage WDP','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_16.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_ratelimiter.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics17_armv5_wdp','Graphics Test ROM (17) - Rate Limiter WDP','\epoc32\data\z\wstest\ratelimiter\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_17.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby t_gcenotification.iby openvgtest.iby surfaceupdatetest_integ.iby graphics_test2.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics18_armv5_wdp','Graphics Test ROM (18) - Composited Screen Capture WDP','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_18.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphicseglhybrid_armv5_wdp','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation WDP','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglhybrid.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphicseglref_armv5_wdp','Graphics Test ROM (eglref) - EGL Reference Implementation WDP','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglref.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics16_armv5_wdp','Graphics Test ROM (16) - Extended Bitmap Render Stage WDP','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_16.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_ratelimiter.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics17_armv5_wdp','Graphics Test ROM (17) - Rate Limiter WDP','\epoc32\data\z\wstest\ratelimiter\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_17.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby t_gcenotification.iby openvgtest.iby surfaceupdatetest_integ.iby graphics_test2.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics18_armv5_wdp','Graphics Test ROM (18) - Composited Screen Capture WDP','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_18.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphicseglhybrid_armv5_wdp','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation WDP','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglhybrid.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphicseglref_armv5_wdp','Graphics Test ROM (eglref) - EGL Reference Implementation WDP','\epoc32\data\z\wstest\wsini_csc_nga_qvga.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_eglref.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test1.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DSYMBIAN_GRAPHICS_FBSERV_PAGEDDATA -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics19_armv5_wdp','Graphics Test ROM (19) WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_19.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test1.iby t_wdp.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DSYMBIAN_GRAPHICS_FBSERV_UNPAGEDDATA -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics20_armv5_wdp','Graphics Test ROM (20) WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_20.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test1.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DSYMBIAN_GRAPHICS_FBSERV_PAGE_BITMAP_DATA_ONLY -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics21_armv5_wdp','Graphics Test ROM (21) WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_21.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_test1.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DSYMBIAN_GRAPHICS_FBSERV_PAGE_BITMAP_DATA_AND_SHARED_HEAP_ONLY -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics22_armv5_wdp','Graphics Test ROM (22) WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_22.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby talf.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics23_armv5_wdp','Graphics Test ROM (23) - ALF/ChangeTracking WDP','\epoc32\data\z\talf\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_23.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics24_armv5_wdp','Graphics Test ROM (24) - BitGDI Renderstage WDP','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_24.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics24_armv5_wdp','Graphics Test ROM (24) - BitGDI Renderstage WDP','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_24.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec wserv.oby graphics_testharness.iby talf.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics25_armv5_wdp','Graphics Test ROM (25) - ALF/ChangeTracking per screen configuration WDP','\epoc32\data\z\talf\wsini_ct_per_screen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_25.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics29a_armv5_wdp','Graphics Test ROM (29a) - Layer Composition WDP','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29a.txt','')
-RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics29b_armv5_wdp','Graphics Test ROM (29b) - Layer Composition, No Autoclear WDP','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29b.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics29a_armv5_wdp','Graphics Test ROM (29a) - Layer Composition WDP','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29a.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby dptestcons.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics29b_armv5_wdp','Graphics Test ROM (29b) - Layer Composition, No Autoclear WDP','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_29b.txt','')
+RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby dptestcons.oby tfxrenderstage.iby test_tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphics30_armv5_wdp','Graphics Test ROM (30) - TFX tests WDP','\epoc32\data\z\system\data\wsini_tfxrenderstage.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_30.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec appfwk_test.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_DEBUG -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_uiframeworks_armv5_wdp','UI Frameworks WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_uif.txt','')
 RomAndAutoRom('armv5','h4hrp pagedrom techview platsec graphics_testharness.iby sgresourcetest.iby opengles.iby dptestcons.oby','-D__MMC -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -D_SSMSTARTUPMODE=5 -DWITH_FLEXIBLE_MM -D_INTERNAL_MMC -DUSE_DATA_PAGING','h4hrp_graphicsresource_armv5_wdp','Graphics Test ROM (GRI) - Graphics Resource WDP','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h4\tests_gri.txt','')
--- a/graphicstest/graphicstestharness/automation/h4/runroms.cmd	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/h4/runroms.cmd	Fri Sep 03 14:44:32 2010 +0100
@@ -42,5 +42,6 @@
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics25_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics29a_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics29b_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
+call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics30_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_uiframeworks_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphicsresource_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
--- a/graphicstest/graphicstestharness/automation/h4/runroms.wdp.cmd	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/h4/runroms.wdp.cmd	Fri Sep 03 14:44:32 2010 +0100
@@ -46,5 +46,7 @@
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics25_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 3600
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics29a_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 3600
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics29b_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 3600
+call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphics30_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_uiframeworks_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
-call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphicsresource_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
\ No newline at end of file
+call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/h4hrp_graphicsresource_armv5_wdp_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/graphicstestharness/automation/h4/tests_30.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,16 @@
+# test_29a.txt
+# Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# 
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+# 
+# Description:
+
+TESTEXECUTE, \logs\testexecute\ttfx_unittests.htm,	, z:\ttfx\ttfx_unittests.script, 100
\ No newline at end of file
--- a/graphicstest/graphicstestharness/automation/h6/roms.txt	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/h6/roms.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -4,29 +4,31 @@
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test1.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics1_armv5_dpdef','Graphics Test ROM (1) DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_01.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test1.iby fbsrasterizertests.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','34xx_sdp_graphics1a_armv5_dpdef','Graphics Test ROM (1a) - FbsRasterizer DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_01a.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test2.iby internaltestfonts.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics2_armv5_dpdef','Graphics Test ROM (2) DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_02.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby openvgtest.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics3_armv5_dpdef','Graphics Test ROM (3) - OpenVG DP Default','\epoc32\data\z\graphics\wsini_integ_h6.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_03.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby supplieropenvgtest.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics3a_armv5_dpdef','Graphics Test ROM (3a) - OpenVG tests requiring USB/Memory Card support DP Default','\epoc32\data\z\graphics\wsini_integ_h6.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_03a.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec wserv.oby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics4_armv5_dpdef','Graphics Test ROM (4) - WServ DP Default','\epoc32\data\z\system\data\ws_test.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_04.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec wserv.oby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics4ct_armv5_dpdef','Graphics Test ROM (4ct) - WServ Change Tracking DP Default','\epoc32\data\z\system\data\wservu_om_h6_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_04ct.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby openvgtest.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics3_armv5_dpdef','Graphics Test ROM (3) - OpenVG DP Default','\epoc32\data\z\graphics\wsini_integ_h6.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_03.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby supplieropenvgtest.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics3a_armv5_dpdef','Graphics Test ROM (3a) - OpenVG tests requiring USB/Memory Card support DP Default','\epoc32\data\z\graphics\wsini_integ_h6.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_03a.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec wserv.oby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics4_armv5_dpdef','Graphics Test ROM (4) - WServ DP Default','\epoc32\data\z\system\data\ws_test.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_04.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec wserv.oby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics4ct_armv5_dpdef','Graphics Test ROM (4ct) - WServ Change Tracking DP Default','\epoc32\data\z\system\data\wservu_om_h6_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_04ct.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby te_uibench.iby internaltestfonts.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','34xx_sdp_graphics5a_armv5_dpdef','Graphics Test ROM (5a) - UIBench DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_05a.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby internaltestfonts.iby te_outlineshadow.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DGRAPHICS_EXCLUDE_FREETYPE','34xx_sdp_graphics5b_armv5_dpdef','Graphics Test ROM (5b) - UIBench - Outline Shadow DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_05b.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby te_uibench_s60.iby egl.iby opengles.iby openvg.iby internaltestfonts.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','34xx_sdp_uibench_s60_armv5_dpdef','Graphics Test ROM UIBench S60 DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_uibench_s60.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics7_armv5_dpdef','Graphics Test ROM (7) DP Default','\epoc32\data\z\wstest\wsini-h6gcedsa.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_07.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec t_wservinteg.iby opengles.iby graphics_testharness.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics8_armv5_dpdef','Graphics Test ROM (8) - WServ Integ DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_08.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics7_armv5_dpdef','Graphics Test ROM (7) DP Default','\epoc32\data\z\wstest\wsini-h6gcedsa.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_07.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec t_wservinteg.iby opengles.iby graphics_testharness.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics8_armv5_dpdef','Graphics Test ROM (8) - WServ Integ DP Default','\epoc32\data\z\graphics\wsini_integ.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_08.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom textshell platsec surfacemanagertest.iby wservtest.iby gce_tests.iby tdisplaychannel.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics9_armv5_dpdef','Graphics Test ROM (9) - Hybrid GCE DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_09.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics12_armv5_dpdef','Graphics Test ROM (12) DP Default','\epoc32\data\z\graphics\wsini_integ_h6_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_12.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_wservgenericplugin.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics13_armv5_dpdef','Graphics Test ROM (13) - Generic Plugin DP Default','\epoc32\data\z\wstest\genericplugin\wsini_nga.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_13.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics12_armv5_dpdef','Graphics Test ROM (12) DP Default','\epoc32\data\z\graphics\wsini_integ_h6_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_12.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_wservgenericplugin.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics13_armv5_dpdef','Graphics Test ROM (13) - Generic Plugin DP Default','\epoc32\data\z\wstest\genericplugin\wsini_nga.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_13.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby twservstresstest.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics15_armv5_dpdef','Graphics Test ROM (15) - Stress DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_15.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics16_armv5_dpdef','Graphics Test ROM (16) - Extended Bitmap Render Stage DP Default','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_16.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_ratelimiter.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics17_armv5_dpdef','Graphics Test ROM (17) - Rate Limiter DP Default','\epoc32\data\z\wstest\ratelimiter\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_17.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby t_gcenotification.iby openvgtest.iby surfaceupdatetest_integ.iby graphics_test2.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics18_armv5_dpdef','Graphics Test ROM (18) - Composited Screen Capture DP Default','\epoc32\data\z\wstest\wsini_csc_nga_h6.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_18.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphicseglhybrid_armv5_dpdef','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_h6.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_eglhybrid.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF','34xx_sdp_graphicseglref_armv5_dpdef','Graphics Test ROM (eglref) - EGL Reference Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_h6.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_eglref.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics16_armv5_dpdef','Graphics Test ROM (16) - Extended Bitmap Render Stage DP Default','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_16.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_ratelimiter.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics17_armv5_dpdef','Graphics Test ROM (17) - Rate Limiter DP Default','\epoc32\data\z\wstest\ratelimiter\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_17.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby t_gcenotification.iby openvgtest.iby surfaceupdatetest_integ.iby graphics_test2.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics18_armv5_dpdef','Graphics Test ROM (18) - Composited Screen Capture DP Default','\epoc32\data\z\wstest\wsini_csc_nga_h6.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_18.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphicseglhybrid_armv5_dpdef','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_h6.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_eglhybrid.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF','34xx_sdp_graphicseglref_armv5_dpdef','Graphics Test ROM (eglref) - EGL Reference Graphics Implementation DP Default','\epoc32\data\z\wstest\wsini_csc_nga_h6.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_eglref.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby talf.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','34xx_sdp_graphics23_armv5_dpdef','Graphics Test ROM (23) - ALF/ChangeTracking DP Default','\epoc32\data\z\talf\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_23.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT','34xx_sdp_graphics24_armv5_dpdef','Graphics Test ROM (24) - BitGDI Renderstage DP Default','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_24.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby tfxrenderstage.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT','34xx_sdp_graphics24_armv5_dpdef','Graphics Test ROM (24) - BitGDI Renderstage DP Default','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_24.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec wserv.oby graphics_testharness.iby talf.iby','-D__MMC -D_NAND2 -DWITH_TVOUT -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics25_armv5_dpdef','Graphics Test ROM (25) - ALF/ChangeTracking per screen DP Default','\epoc32\data\z\talf\wsini_ct_recovery.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_25.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby','-D__MMC -D_NAND2 -DWITH_TVOUT -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics29a_armv5_dpdef','Graphics Test ROM (29a) - Layer Composition DP Default','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_29a.txt','')
-RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby','-D__MMC -D_NAND2 -DWITH_TVOUT -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics29b_armv5_dpdef','Graphics Test ROM (29b) - Layer Composition, No Autoclear DP Default','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_29b.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DWITH_TVOUT -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics29a_armv5_dpdef','Graphics Test ROM (29a) - Layer Composition DP Default','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_29a.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby tfxrenderstage.iby','-D__MMC -D_NAND2 -DWITH_TVOUT -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics29b_armv5_dpdef','Graphics Test ROM (29b) - Layer Composition, No Autoclear DP Default','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_29b.txt','')
+RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby tfxrenderstage.iby test_tfxrenderstage.iby','-D__MMC -D_NAND2 -DWITH_TVOUT -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphics30_armv5_dpdef','Graphics Test ROM (30) - TFX tests DP Default','\epoc32\data\z\system\data\wsini_tfxrenderstage.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_30.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec appfwk_test.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_DEBUG','34xx_sdp_uiframeworks_armv5_dpdef','UI Frameworks DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_uif.txt','')
 RomAndAutoRom('armv5','34xx_sdp pagedrom techview platsec graphics_testharness.iby sgresourcetest.iby opengles.iby','-D__MMC -D_NAND2 -DUSE_SDIO_SD_MMC -DWITH_TVOUT -DUSE_24UBPP_DISPLAY_VARIANT_TV -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','34xx_sdp_graphicsresource_armv5_dpdef','Graphics Test ROM (GRI) - Graphics Resource DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\h6\tests_gri.txt','')
 Rom('armv5', '34xx_sdp minigui', '-nosymbols -D__MMC -DUSE_SDIO_SD_MMC', '34xx_sdp_minigui', 'MiniGUI ROM', '' )
+
--- a/graphicstest/graphicstestharness/automation/h6/runroms.cmd	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/h6/runroms.cmd	Fri Sep 03 14:44:32 2010 +0100
@@ -43,4 +43,6 @@
 call  ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/34xx_sdp_graphics25_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call  ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/34xx_sdp_graphics29a_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call  ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/34xx_sdp_graphics29b_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
+call  ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/34xx_sdp_graphics30_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 2400
 call  ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/34xx_sdp_uiframeworks_armv5_dpdef_auto" --nandLoader %1 --resource %2 --jobId %3 --listenTimeout 3600
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/graphicstestharness/automation/h6/tests_30.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,16 @@
+# test_29a.txt
+# Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# 
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+# 
+# Description:
+
+TESTEXECUTE, \logs\testexecute\ttfx_unittests.htm,	, z:\ttfx\ttfx_unittests.script, 100
\ No newline at end of file
--- a/graphicstest/graphicstestharness/automation/ne1/roms.txt	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/ne1/roms.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -3,27 +3,29 @@
 RomAndAutoRom('armv5','naviengine techview platsec graphics_test1.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics1_armv5','Graphics Test ROM (1)','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_01.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_test1.iby fbsrasterizertests.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','naviengine_graphics1a_armv5','Graphics Test ROM (1a) - FbsRasterizer','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_01a.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_test2.iby internaltestfonts.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics2_armv5','Graphics Test ROM (2)','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_02.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby openvgtest.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics3_armv5','Graphics Test ROM (3) - OpenVG','\epoc32\data\z\graphics\wsini_integ_norotation.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_03.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec wserv.oby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics4_armv5','Graphics Test ROM (4) - WServ','\epoc32\data\z\system\data\ws_test_singlescreen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_04.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec wserv.oby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics4ct_armv5','Graphics Test ROM (4ct) - WServ Change Tracking','\epoc32\data\z\system\data\wservu_om_singlescreen_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_04ct.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby openvgtest.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics3_armv5','Graphics Test ROM (3) - OpenVG','\epoc32\data\z\graphics\wsini_integ_norotation.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_03.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec wserv.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics4_armv5','Graphics Test ROM (4) - WServ','\epoc32\data\z\system\data\ws_test_singlescreen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_04.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec wserv.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics4ct_armv5','Graphics Test ROM (4ct) - WServ Change Tracking','\epoc32\data\z\system\data\wservu_om_singlescreen_changetracking.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_04ct.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby te_uibench.iby internaltestfonts.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','naviengine_graphics5a_armv5','Graphics Test ROM (5a) - UIBench','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_05a.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby internaltestfonts.iby te_outlineshadow.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DGRAPHICS_EXCLUDE_FREETYPE','naviengine_graphics5b_armv5','Graphics Test ROM (5b) - UIBench - Outline Shadow','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_05b.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby te_uibench_s60.iby egl.iby opengles.iby openvg.iby internaltestfonts.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24UBPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW -DFBSRASTERIZER_DRV="^<"fbsrasterizer_test.iby"^>"','naviengine_uibench_s60_armv5','Graphics Test ROM UIBench S60 DP Default','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_uibench_s60.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics7_armv5','Graphics Test ROM (7)','\epoc32\data\z\graphics\wsini_integ_naviengine_color64k.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_07.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec t_wservinteg.iby opengles.iby graphics_testharness.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics8_armv5','Graphics Test ROM (8) - WServ Integ','\epoc32\data\z\graphics\wsini_integ_norotation.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_08.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics7_armv5','Graphics Test ROM (7)','\epoc32\data\z\graphics\wsini_integ_naviengine_color64k.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_07.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec t_wservinteg.iby opengles.iby graphics_testharness.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics8_armv5','Graphics Test ROM (8) - WServ Integ','\epoc32\data\z\graphics\wsini_integ_norotation.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_08.txt','')
 RomAndAutoRom('armv5','naviengine textshell platsec surfacemanagertest.iby wservtest.iby gce_tests.iby tdisplaychannel.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics9_armv5','Graphics Test ROM (9) - Hybrid GCE','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_09.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics12_armv5','Graphics Test ROM (12)','\epoc32\data\z\graphics\wsini_integ_naviengine_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_12.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_wservgenericplugin.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics13_armv5','Graphics Test ROM (13) - Generic Plugin','\epoc32\data\z\wstest\genericplugin\wsini_nga_onescreen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_13.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_test2.iby wservtest.iby csc_plugin.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics12_armv5','Graphics Test ROM (12)','\epoc32\data\z\graphics\wsini_integ_naviengine_color16ma.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_12.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_wservgenericplugin.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics13_armv5','Graphics Test ROM (13) - Generic Plugin','\epoc32\data\z\wstest\genericplugin\wsini_nga_onescreen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_13.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby twservstresstest.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics15_armv5','Graphics Test ROM (15) - Stress','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_15.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics16_armv5','Graphics Test ROM (16) - Extended Bitmap Render Stage','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_16.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_ratelimiter.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics17_armv5','Graphics Test ROM (17) - Rate Limiter','\epoc32\data\z\wstest\ratelimiter\wsini_hw_singlescreen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_17.txt','')
-RomAndAutoRom('armv5','naviengine minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby openvgtest.iby surfaceupdatetest_integ.iby t_gcenotification.iby graphics_test2.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics18_armv5','Graphics Test ROM (18) - Composited Screen Capture','\epoc32\data\z\wstest\wsini_csc_nga_naviengine.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_18.txt','')
-RomAndAutoRom('armv5','naviengine minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphicseglhybrid_armv5','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation','\epoc32\data\z\wstest\wsini_csc_nga_naviengine.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_eglhybrid.txt','')
-RomAndAutoRom('armv5','naviengine minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF','naviengine_graphicseglref_armv5','Graphics Test ROM (eglref) - EGL Reference Graphics Implementation','\epoc32\data\z\wstest\wsini_csc_nga_naviengine.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_eglref.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_extendedbitmaprenderstage.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics16_armv5','Graphics Test ROM (16) - Extended Bitmap Render Stage','\epoc32\data\z\wstest\textendedbitmap\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_16.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_ratelimiter.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics17_armv5','Graphics Test ROM (17) - Rate Limiter','\epoc32\data\z\wstest\ratelimiter\wsini_hw_singlescreen.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_17.txt','')
+RomAndAutoRom('armv5','naviengine minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby openvgtest.iby surfaceupdatetest_integ.iby t_gcenotification.iby graphics_test2.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics18_armv5','Graphics Test ROM (18) - Composited Screen Capture','\epoc32\data\z\wstest\wsini_csc_nga_naviengine.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_18.txt','')
+RomAndAutoRom('armv5','naviengine minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltesthybrid.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphicseglhybrid_armv5','Graphics Test ROM (eglhybrid) - EGL Hybrid Graphics Implementation','\epoc32\data\z\wstest\wsini_csc_nga_naviengine.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_eglhybrid.txt','')
+RomAndAutoRom('armv5','naviengine minigui platsec graphics_testharness.iby csc_plugin.iby tcsc.iby egltestref.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_USE_EGL_REF','naviengine_graphicseglref_armv5','Graphics Test ROM (eglref) - EGL Reference Graphics Implementation','\epoc32\data\z\wstest\wsini_csc_nga_naviengine.ini,\epoc32\data\z\wsini_minigui.ini;\epoc32\data\z\graphicstest\testexecute_minigui.ini,\epoc32\data\z\system\data\testexecute.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_eglref.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby talf.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE','naviengine_graphics23_armv5','Graphics Test ROM (23) - ALF/ChangeTracking','\epoc32\data\z\talf\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_23.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT','naviengine_graphics24_armv5','Graphics Test ROM (24) - BitGDI Renderstage','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini-single-screen-no-rotation.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_24.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby t_eventchecker.iby t_bitgdirenderstage.iby wserv.oby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DRVT','naviengine_graphics24_armv5','Graphics Test ROM (24) - BitGDI Renderstage','\epoc32\data\z\wstest\tbitgdirenderstage\arm\wsini-single-screen-no-rotation.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_24.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec wserv.oby graphics_testharness.iby talf.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics25_armv5','Graphics Test ROM (25) - ALF/ChangeTracking per screen','\epoc32\data\z\talf\wsini_ct_recovery.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_25.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics29a_armv5','Graphics Test ROM (29a) - Layer Composition','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_29a.txt','')
-RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics29b_armv5','Graphics Test ROM (29b) - Layer Composition, No Autoclear','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_29b.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics29a_armv5','Graphics Test ROM (29a) - Layer Composition','\epoc32\data\z\tlayercomposition\wsini.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_29a.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby tlayercompositiontest.iby csc_plugin.iby tcsc.iby tfxrenderstage.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics29b_armv5','Graphics Test ROM (29b) - Layer Composition, No Autoclear','\epoc32\data\z\tlayercomposition\wsini_noautoclear.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_29b.txt','')
+RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby tfxrenderstage.iby ttfx.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphics30_armv5','Graphics Test ROM (30) - TFX tests','\epoc32\data\z\system\data\wsini_tfxrenderstage.ini,\epoc32\data\z\system\data\wsini.ini','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_30.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec appfwk_test.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -D_DEBUG','naviengine_uiframeworks_armv5','UI Frameworks','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_uif.txt','')
 RomAndAutoRom('armv5','naviengine techview platsec graphics_testharness.iby sgresourcetest.iby opengles.iby','-D__MMC -DUSE_SDIO_SD_MMC -DSMP -DUSE_24BPP_DISPLAY_VARIANT -DSYMBIAN_BASE_USE_GCE -DSYMBIAN_GRAPHICS_USE_GCE -DSYMBIAN_GRAPHICS_ADAPTATION=SGA_SW','naviengine_graphicsresource_armv5','Graphics Test ROM (GRI) - Graphics Resource','','..\sf\os\graphics\graphicstest\graphicstestharness\automation\ne1\tests_gri.txt','')
+
--- a/graphicstest/graphicstestharness/automation/ne1/runroms.cmd	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/ne1/runroms.cmd	Fri Sep 03 14:44:32 2010 +0100
@@ -41,4 +41,6 @@
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/naviengine_graphics25_armv5_auto" --nandLoader %1 --resource %2 --jobId %3 --timeout 60 --listenTimeout 3600 --transferMode serial
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/naviengine_graphics29a_armv5_auto" --nandLoader %1 --resource %2 --jobId %3 --timeout 60 --listenTimeout 3600 --transferMode serial
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/naviengine_graphics29b_armv5_auto" --nandLoader %1 --resource %2 --jobId %3 --timeout 60 --listenTimeout 3600 --transferMode serial
+call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/naviengine_graphics30_armv5_auto" --nandLoader %1 --resource %2 --jobId %3 --timeout 60 --listenTimeout 2400 --transferMode serial
 call ec-perl w:\scripts\rom\runrom.pl --romDirectory "roms/naviengine_uiframeworks_armv5_auto" --nandLoader %1 --resource %2 --jobId %3 --timeout 80 --listenTimeout 2400 --transferMode serial
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/graphicstestharness/automation/ne1/tests_30.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,16 @@
+# test_29a.txt
+# Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+# 
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+# 
+# Description:
+
+TESTEXECUTE, \logs\testexecute\ttfx_unittests.htm,	, z:\ttfx\ttfx_unittests.script, 100
\ No newline at end of file
--- a/graphicstest/graphicstestharness/automation/winscw/tests.txt	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/automation/winscw/tests.txt	Fri Sep 03 14:44:32 2010 +0100
@@ -311,7 +311,7 @@
 TESTEXECUTE, C:\logs\testexecute\surfacemgtest_T_multithread.htm,		, z:\surfacemgtest\surfacemgtest_T_multithread.script, 600
 
 # Surface Update
-TESTEXECUTE, C:\logs\testexecute\surfaceupdate.htm,			, z:\surfaceupdate\surfaceupdate.script, 600
+TESTEXECUTE, C:\logs\testexecute\surfaceupdate.htm,					, z:\surfaceupdate\surfaceupdate.script, 600
 TESTEXECUTE, C:\logs\testexecute\surfaceupdateinteg.htm,			, z:\surfaceupdate\surfaceupdateinteg.script, 800, ,  z\graphicstest\minigui.cmd z\graphics\t_graphics_config_inifiles.bat install multiple_screen csc_nga, z\graphicstest\unminigui.cmd z\graphics\t_graphics_config_inifiles.bat uninstall
 TESTEXECUTE, C:\logs\testexecute\graphics-gce-notification.htm,		, z:\graphics\graphics-gce-notification.script,  3600, , z\graphics\t_graphics_config_inifiles.bat install csc_nga, z\graphics\t_graphics_config_inifiles.bat uninstall
 
@@ -496,6 +496,9 @@
 #PREQ2636
 TESTEXECUTE, C:\logs\testexecute\tfxframework_tests.htm,		, z:\tlayercomposition\tfxframework_tests.script, 600,			, z\tfxframework\wstest_t_tfxrenderstage.bat install, 			z\tfxframework\wstest_t_tfxrenderstage.bat uninstall
 
+# System TFX
+TESTEXECUTE, C:\logs\testexecute\ttfx_unittests.htm,		, z:\ttfx\ttfx_unittests.script, 600,			, z\ttfx\t_graphics_systemtfx.bat install, 			z\ttfx\t_graphics_systemtfx.bat uninstall
+
 # UIBENCH S60
 TESTEXECUTE, C:\logs\testexecute\te_uibench_s60_techview_emulator.htm,	, c:\uibench_s60\te_uibench_s60_techview_emulator.script, 900
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicstest/graphicstestharness/data/epoc_two_screens.ini	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,15 @@
+PlatSecDiagnostics ON
+PlatSecEnforcement ON 
+PlatSecProcessIsolation ON 
+PlatSecEnforceSysBin ON
+SYMBIAN_BASE_USE_GCE on
+SYMBIAN_GRAPHICS_USE_GCE on
+minigui
+screenoffsetx 0
+screenoffsety 0
+
+_NewScreen_
+ScreenWidth 640
+ScreenHeight 240
+screenoffsetx 0
+screenoffsety 0
--- a/graphicstest/graphicstestharness/group/BLD.INF	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/group/BLD.INF	Fri Sep 03 14:44:32 2010 +0100
@@ -48,6 +48,8 @@
 ../rom/graphics_sirocco_ne_wsini.iby  	/epoc32/rom/include/graphics_sirocco_ne_wsini.iby
 ../wsini/wsini_vasco.ini		/epoc32/data/test_wsini/wsini_vasco.ini
 ../wsini/wsini_naviengine.ini		/epoc32/data/test_wsini/wsini_naviengine.ini
+../wsini/wsini_emulator.ini		/epoc32/data/test_wsini/wsini_emulator.ini
+../data/epoc_two_screens.ini	/epoc32/data/epoc_two_screens.ini
 
 // ONB batch files
 ../batch/retain_files.cmd z:\graphicstest\retain_files.cmd
--- a/graphicstest/graphicstestharness/group/t_simloadutils.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/group/t_simloadutils.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -37,7 +37,7 @@
 SOURCE          t_simloadutils.cpp
 
 LIBRARY         euser.lib
-LIBRARY         cinidata.lib
+LIBRARY			iniparser.lib
 
 DEFFILE         t_simloadutils.def
 
--- a/graphicstest/graphicstestharness/rom/graphics_sirocco_wsini.hby	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/rom/graphics_sirocco_wsini.hby	Fri Sep 03 14:44:32 2010 +0100
@@ -24,5 +24,6 @@
 #define WSERV_TEST_WSINI_GENERICPLUGIN			0x0004
 #define WSERV_TEST_WSINI_LAYERCOMPOSITION		0x0005
 #define WSERV_TEST_WSINI_RATELIMITER			0x0006
+#define WSERV_TEST_WSINI_TTFX				0x0007
 
 #endif	// __GRAPHICS_SIROCCO_WSINI_HBY__
--- a/graphicstest/graphicstestharness/rom/graphics_sirocco_wsini.iby	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/rom/graphics_sirocco_wsini.iby	Fri Sep 03 14:44:32 2010 +0100
@@ -30,6 +30,8 @@
 	data=DATAZ_\tlayercomposition\wsini_vasco_layercomposition.ini \system\data\wsini.ini
 #elif WSERV_TEST_WSINI == WSERV_TEST_WSINI_RATELIMITER
 	data=DATAZ_\wstest\ratelimiter\wsini_vasco_ratelimiter.ini \system\data\wsini.ini
+#elif WSERV_TEST_WSINI == WSERV_TEST_WSINI_TTFX
+	data=DATAZ_\ttfx\wsini_vasco_tfx_auto.ini \system\data\wsini.ini
 #else
 	data=EPOCROOT##epoc32\data\test_wsini\wsini_vasco.ini \system\data\wsini.ini
 #endif
--- a/graphicstest/graphicstestharness/src/t_simloadutils.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicstest/graphicstestharness/src/t_simloadutils.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -20,7 +20,7 @@
 
 #include <e32math.h>
 #include <e32debug.h>
-#include <cinidata.h>
+#include <iniparser.h>
 #include "t_simload.h"
 #include "t_simloadutils.h"
 
Binary file graphicstest/graphicstestharness/wsini/wsini_emulator.ini has changed
Binary file graphicstest/graphicstestharness/wsini/wsini_vasco.ini has changed
--- a/graphicsutils/commongraphicsheaders/test/group/bld.inf	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicsutils/commongraphicsheaders/test/group/bld.inf	Fri Sep 03 14:44:32 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -20,6 +20,7 @@
 PRJ_TESTEXPORTS
 tcommonheader.iby 	/epoc32/rom/include/tcommonheader.iby
 ../scripts/tdisplayconfiguration.script	z:/commonheadertest/tdisplayconfiguration.script
+../scripts/tdisplayconfiguration_sirocco.script	z:/commonheadertest/tdisplayconfiguration_sirocco.script
 
 PRJ_TESTMMPFILES
 #ifndef SMP
--- a/graphicsutils/commongraphicsheaders/test/group/tcommonheader_helium.pkg	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicsutils/commongraphicsheaders/test/group/tcommonheader_helium.pkg	Fri Sep 03 14:44:32 2010 +0100
@@ -33,5 +33,5 @@
 
 ;*Files To Copy...<src> <destination>
 
-"\epoc32\data\z\commonheadertest\tdisplayconfiguration.script"-"c:\commonheadertest\tdisplayconfiguration.script"
+"\epoc32\data\z\commonheadertest\tdisplayconfiguration_sirocco.script"-"c:\commonheadertest\tdisplayconfiguration.script"
 
--- a/graphicsutils/commongraphicsheaders/test/scripts/tdisplayconfiguration.script	Tue Aug 31 17:36:36 2010 +0100
+++ b/graphicsutils/commongraphicsheaders/test/scripts/tdisplayconfiguration.script	Fri Sep 03 14:44:32 2010 +0100
@@ -1,4 +1,4 @@
-// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -29,5 +29,4 @@
 RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0011L
 RUN_TEST_STEP !PanicCode=7 !PanicString=DISPLAYCONFIG 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0012L
 
-//COMMENTED OUT FOR 10T38 ZERO TOLERANCE TEST STRATEGY
-//RUN_PROGRAM tclosepanicwindow.exe
+RUN_PROGRAM tclosepanicwindow.exe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/commongraphicsheaders/test/scripts/tdisplayconfiguration_sirocco.script	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,33 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+//////////////////////////////////////////////////////////////////
+LOAD_SUITE commonheadertestserver
+
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0001L
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0002L
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0003L
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0004L
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0005L
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0006L
+RUN_TEST_STEP !PanicCode=1 !PanicString=DISPLAYCONFIG 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0007L
+RUN_TEST_STEP !PanicCode=1 !PanicString=DISPLAYCONFIG 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0008L
+RUN_TEST_STEP !PanicCode=2 !PanicString=DISPLAYCONFIG 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0009L
+RUN_TEST_STEP !PanicCode=2 !PanicString=DISPLAYCONFIG 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0010L
+RUN_TEST_STEP 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0011L
+RUN_TEST_STEP !PanicCode=7 !PanicString=DISPLAYCONFIG 100 commonheadertestserver TEFUnit.CTestDisplayConfiguration.GRAPHICS_COMMONHEADER_0012L
+
+//Commented out line below as Sirocco target, NCP +MinGui does not generate windows for panics
+//RUN_PROGRAM tclosepanicwindow.exe 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/group/bld.inf	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,31 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This component centrally provides the Template Extension Makefiles,
+// TEMs, needed by the graphics package.  This removes the dependency on
+// the buildtools package to provide them.
+
+/**
+ @file
+ @internalComponent
+*/
+
+PRJ_EXPORTS
+../src/conv_khronos_hdr_to_cpp.pl				/epoc32/tools/conv_khronos_hdr_to_cpp.pl
+../src/conv_khronos_openvg_hdr_to_cpp.pl		/epoc32/tools/conv_khronos_openvg_hdr_to_cpp.pl
+../src/gen_khronos_cpp_from_hdr.meta			/epoc32/tools/makefile_templates/graphics/gen_khronos_cpp_from_hdr.meta
+../src/gen_khronos_cpp_from_hdr.mk				/epoc32/tools/makefile_templates/graphics/gen_khronos_cpp_from_hdr.mk
+../src/gen_khronos_openvg_cpp_from_hdr.meta		/epoc32/tools/makefile_templates/graphics/gen_khronos_openvg_cpp_from_hdr.meta
+../src/gen_khronos_openvg_cpp_from_hdr.mk		/epoc32/tools/makefile_templates/graphics/gen_khronos_openvg_cpp_from_hdr.mk
+../src/genpdrs.meta								/epoc32/tools/makefile_templates/graphics/genpdrs.meta
+../src/genpdrs.mk								/epoc32/tools/makefile_templates/graphics/genpdrs.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/conv_khronos_hdr_to_cpp.pl	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,86 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Convert the given header file from Khronos into a stub implementation file
+# 
+#
+
+use File::Basename;
+use File::Path;
+
+my $debug = 0;
+my $prog = "conv_khronos_hdr_to_cpp.pl";
+my $source = shift;
+my $target = shift;
+my $operation_mode = shift;
+my @lines;
+
+if ($debug)
+	{
+	print "$prog: Args $source $target $operation_mode\n";
+	}
+
+if ("$operation_mode" eq "delete")
+	{
+	&cleanup();
+	exit 0;
+	}
+elsif ("$operation_mode" eq "create")
+	{
+	&setupFiles();
+	&generateStubImplementation();
+	exit 0;
+	}
+else
+	{
+	print "Usage error: $prog source target [create|delete]\n";
+	exit 1;
+	}
+
+sub cleanup()
+	{
+	unlink "$target";
+	}
+
+sub setupFiles()
+	{
+	my $dir;
+	$dir = dirname($target);
+	mkpath $dir;
+	
+	open(INFILE,  "$source") or die "Can't open input file $source; $!\n";
+	open(OUTFILE, ">$target") or die "Can't open output file $target; $!\n";
+	print OUTFILE '/* Auto-generated: ' . "$prog" . ' v1.0 */' . "\n";
+	print OUTFILE '/* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved. */' . "\n";
+	}
+
+sub generateStubImplementation()
+	{
+	@lines = <INFILE>;
+	foreach (@lines)
+		{
+		# Find function prototype lines
+		if (/^GL_APICALL/)
+			{
+			# Convert the function prototype into a stub function definition
+			s/\;$/ { }/;
+			# Record the stub functions.  There will be a stub implementation
+			# file which includes these stub functions.  This ensures we never
+			# accidentally miss a new function added to the header file supplied
+			# as $source.  We expect compiler warnings (missing use of arguments,
+			# absent return value etc.).  The aim is to get something which will
+			# compile so that a DEF file can be generated.
+			print OUTFILE "$_";
+			}
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/conv_khronos_openvg_hdr_to_cpp.pl	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,84 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Convert the given header file from Khronos into a stub implementation file
+# 
+#
+
+use File::Basename;
+use File::Path;
+
+my $debug = 0;
+my $prog = "conv_khronos_openvg_hdr_to_cpp.pl";
+my $source = shift;
+my $target = shift;
+my $operation_mode = shift;
+my @lines;
+
+if ($debug) {
+  print "$prog: Args $source $target $operation_mode\n";
+}
+
+if ("$operation_mode" eq "delete") {
+  &cleanup();
+  exit 0;
+} elsif ("$operation_mode" eq "create") {
+  &setupFiles();
+  &generateStubImplementation();
+  exit 0;
+} else {
+  print "Usage error: $prog source target [create|delete]\n";
+  exit 1;
+}
+
+sub cleanup()
+  {
+    unlink "$target";
+  }
+
+sub setupFiles()
+  {
+    my $dir;
+    $dir = dirname($target);
+    mkpath $dir;
+	
+    open(INFILE,  "$source") or die "Can't open input file $source; $!\n";
+    open(OUTFILE, ">$target") or die "Can't open output file $target; $!\n";
+    print OUTFILE '/* Auto-generated: ' . "$prog" . ' v1.0 */' . "\n";
+    print OUTFILE '/* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).  All rights reserved. */' . "\n";
+  }
+
+sub generateStubImplementation()
+  {
+    @lines = <INFILE>;
+    my $s = "";
+    foreach (@lines) {
+      # Find function prototype lines
+      if (/^VG[U]?_API_CALL/ || length($s) != 0) {
+	    $s = $s.$_;
+		if (/;/) {
+		  # Convert the function prototype into a stub function definition
+		  $s =~ s/\;$/ { }/;
+		  # Record the stub functions.  There will be a stub implementation
+		  # file which includes these stub functions.  This ensures we never
+		  # accidentally miss a new function added to the header file supplied
+		  # as $source.  We expect compiler warnings (missing use of arguments,
+		  # absent return value etc.).  The aim is to get something which will
+		  # compile so that a DEF file can be generated.
+		  print OUTFILE "$s";
+		  $s = "";
+		}
+      }       
+    }
+
+  }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/gen_khronos_cpp_from_hdr.meta	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,19 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+#
+# Description:
+# Meta information for the gen_khronos_cpp_from_hdr extension template
+#
+
+platform	win32
+makefile 	gnumake
+techstream	graphics
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/gen_khronos_cpp_from_hdr.mk	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,46 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+# To ensure that EPOCROOT always ends with a forward slash
+TMPROOT:=$(subst \,/,$(EPOCROOT))
+EPOCROOT:=$(patsubst %/,%,$(TMPROOT))/
+
+include $(EPOCROOT)epoc32/tools/shell/$(notdir $(basename $(SHELL))).mk
+
+SOURCE_HDR=$(SOURCES)
+TARGET_CPP=$(TARGET)
+CONVERSION_SCRIPT = $(EPOCROOT)epoc32$/tools$/conv_khronos_hdr_to_cpp.pl
+
+MAKMAKE : $(TARGET_CPP)
+
+FREEZE :
+
+LIB :
+
+CLEANLIB :
+
+RESOURCE :
+
+FINAL :
+
+BLD SAVESPACE : $(TARGET_CPP)
+
+RELEASABLES :
+
+CLEAN :
+	perl $(CONVERSION_SCRIPT) $(SOURCE_HDR) $(TARGET_CPP) delete
+
+$(TARGET_CPP): $(SOURCE_HDR)
+	perl $(CONVERSION_SCRIPT) $(SOURCE_HDR) $(TARGET_CPP) create
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/gen_khronos_openvg_cpp_from_hdr.meta	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,19 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+#
+# Description:
+# Meta information for the gen_khronos_openvg_cpp_from_hdr extension template
+#
+
+platform	win32
+makefile 	gnumake
+techstream	graphics
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/gen_khronos_openvg_cpp_from_hdr.mk	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,46 @@
+# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+# To ensure that EPOCROOT always ends with a forward slash
+TMPROOT:=$(subst \,/,$(EPOCROOT))
+EPOCROOT:=$(patsubst %/,%,$(TMPROOT))/
+
+include $(EPOCROOT)epoc32/tools/shell/$(notdir $(basename $(SHELL))).mk
+
+SOURCE_HDR=$(SOURCES)
+TARGET_CPP=$(TARGET)
+CONVERSION_SCRIPT = $(EPOCROOT)epoc32$/tools$/conv_khronos_openvg_hdr_to_cpp.pl
+
+MAKMAKE : $(TARGET_CPP)
+
+FREEZE :
+
+LIB :
+
+CLEANLIB :
+
+RESOURCE :
+
+FINAL :
+
+BLD SAVESPACE : $(TARGET_CPP)
+
+RELEASABLES :
+
+CLEAN :
+	perl $(CONVERSION_SCRIPT) $(SOURCE_HDR) $(TARGET_CPP) delete
+
+$(TARGET_CPP): $(SOURCE_HDR)
+	perl $(CONVERSION_SCRIPT) $(SOURCE_HDR) $(TARGET_CPP) create
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/genpdrs.meta	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,20 @@
+# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+# 
+# Contributors:
+#
+# Description:
+# Meta information for PDR generation
+#
+
+platform	win32
+makefile 	gnumake
+techstream	graphics
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsutils/graphics_tems/src/genpdrs.mk	Fri Sep 03 14:44:32 2010 +0100
@@ -0,0 +1,72 @@
+# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Build PDR files
+# 
+#
+
+
+# To ensure that EPOCROOT always ends with a forward slash
+TMPROOT:=$(subst \,/,$(EPOCROOT))
+EPOCROOT:=$(patsubst %/,%,$(TMPROOT))/
+
+include $(EPOCROOT)epoc32/tools/shell/$(notdir $(basename $(SHELL))).mk
+
+
+ifeq ($(PLATFORM),WINS) 
+        TARGETDIR:=$(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/z/resource/printers
+else
+ifeq ($(PLATFORM),WINSCW)
+        TARGETDIR:=$(EPOCROOT)epoc32/release/$(PLATFORM_PATH)/$(CFG_PATH)/z/resource/printers
+else
+        TARGETDIR:=$(EPOCROOT)epoc32/data/z/resource/printers
+endif
+endif
+
+$(TARGETDIR) :
+	$(call createdir,"$(TARGETDIR)")
+
+PDR=$(TARGETDIR)/$(PRINTER).pdr
+
+$(PDR) : $(EXTENSION_ROOT)/../$(PRINTER_DIR)/$(PRINTER).PD
+	$(EPOCROOT)epoc32/tools/pdrtran '$<' '$@'
+
+do_nothing:
+# do nothing
+
+#
+# The targets invoked by bld...
+#
+
+MAKMAKE : do_nothing
+
+BLD : $(TARGETDIR) $(PDR)
+
+SAVESPACE : BLD
+
+RESOURCE : BLD
+
+CLEAN :
+	-$(ERASE) $(PDR)
+
+FREEZE : do_nothing
+
+LIB : do_nothing
+
+CLEANLIB : do_nothing
+
+FINAL : do_nothing
+
+RELEASABLES : 
+	@echo $(PDR)
+
--- a/windowing/windowserver/debuglog/DEBLOGFL.CPP	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/debuglog/DEBLOGFL.CPP	Fri Sep 03 14:44:32 2010 +0100
@@ -86,7 +86,7 @@
 		//RDebug::Print(KLog3);
 		if (err==KErrNone)
 			{
-			TInt seekpos;
+			TInt seekpos = 0;
 			User::LeaveIfError(iFile.Seek(ESeekEnd,seekpos));
 			}
 		else
--- a/windowing/windowserver/group/WSERV.INI	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/group/WSERV.INI	Fri Sep 03 14:44:32 2010 +0100
@@ -40,3 +40,10 @@
 FLICKERFREEREDRAW
 TRANSPARENCY
 
+PLUGINS TFXRENDERSTAGE FLICKERBUFFER DISPLAY
+
+[SCREEN0]
+RENDERSTAGES tfxrenderstage flickerbuffer display
+
+[TFXRENDERSTAGE]
+ID 0x20030C29
\ No newline at end of file
Binary file windowing/windowserver/group/WSERVU.INI has changed
Binary file windowing/windowserver/group/absolutefading.ini has changed
Binary file windowing/windowserver/group/wservu_multiscreen.ini has changed
Binary file windowing/windowserver/group/wservu_multiscreen_changetracking.ini has changed
Binary file windowing/windowserver/group/wservu_qvga.ini has changed
Binary file windowing/windowserver/group/wservu_sparse.ini has changed
Binary file windowing/windowserver/group/wservu_sparse_nodefault.ini has changed
Binary file windowing/windowserver/group/wsini_pointershift.ini has changed
Binary file windowing/windowserver/group/wsini_pointershift_wins.ini has changed
Binary file windowing/windowserver/minigui/group/wsini_minigui.ini has changed
--- a/windowing/windowserver/nga/CLIENT/RGC.CPP	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/nga/CLIENT/RGC.CPP	Fri Sep 03 14:44:32 2010 +0100
@@ -1420,6 +1420,7 @@
 	{
 	iPimpl->WriteAnyPendingStateChanges();
 	TWsGcCmdDrawText printText(aPos,aBuf.Length());
+    __ASSERT_ALWAYS(((aBuf.Size()+sizeof(printText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected));    
 	WriteTextCommand(&printText,sizeof(printText),aBuf,EWsGcOpDrawText,EWsGcOpDrawTextPtr);
 	}
 
@@ -1452,17 +1453,20 @@
 		if (aHoriz==ELeft && aLeftMrg==0)
 			{
 			TWsGcCmdBoxTextOptimised1 boxTextOpt1(aBox,aBaselineOffset,aBuf.Length());
+			__ASSERT_ALWAYS(((aBuf.Size()+sizeof(boxTextOpt1))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 			Write(&boxTextOpt1,sizeof(boxTextOpt1),aBuf.Ptr(),aBuf.Size(),EWsGcOpDrawBoxTextOptimised1);
 			}
 		else
 			{
 			TWsGcCmdBoxTextOptimised2 boxTextOpt2(aBox,aBaselineOffset,aHoriz,aLeftMrg,aBuf.Length());
+			__ASSERT_ALWAYS(((aBuf.Size()+sizeof(boxTextOpt2))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 			Write(&boxTextOpt2,sizeof(boxTextOpt2),aBuf.Ptr(),aBuf.Size(),EWsGcOpDrawBoxTextOptimised2);
 			}
 		}
 	else
 		{
 		TWsGcCmdBoxText boxText(aBox,aBaselineOffset,aHoriz,aLeftMrg,aBuf.Length(),iPimpl->iFont->TextWidthInPixels(aBuf));
+		__ASSERT_ALWAYS(((aBuf.Size()+sizeof(boxText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 		WriteTextCommand(&boxText,sizeof(boxText),aBuf,EWsGcOpDrawBoxText,EWsGcOpDrawBoxTextPtr);
 		}
 	}
@@ -1471,6 +1475,7 @@
 	{
 	iPimpl->WriteAnyPendingStateChanges();
 	TWsGcCmdDrawTextInContext printTextInContext(aPos,aBuf.Length(),aParam->iStart,aParam->iEnd);
+	__ASSERT_ALWAYS(((aBuf.Size()+sizeof(printTextInContext))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 	WriteTextCommand(&printTextInContext,sizeof(printTextInContext),aBuf,EWsGcOpDrawTextInContext,EWsGcOpDrawTextInContextPtr);
 	return KErrNone;
 	}
@@ -1483,17 +1488,20 @@
 		if (aHoriz==ELeft && aLeftMrg==0)
 			{
 			TWsGcCmdBoxTextInContextOptimised1 boxTextOpt1(aBox,aBaselineOffset,aBuf.Length(),aParam->iStart,aParam->iEnd);
+			__ASSERT_ALWAYS(((aBuf.Size()+sizeof(boxTextOpt1))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 			Write(&boxTextOpt1,sizeof(boxTextOpt1),aBuf.Ptr(),aBuf.Size(),EWsGcOpDrawBoxTextInContextOptimised1);
 			}
 		else
 			{
 			TWsGcCmdBoxTextInContextOptimised2 boxTextOpt2(aBox,aBaselineOffset,aHoriz,aLeftMrg,aBuf.Length(),aParam->iStart,aParam->iEnd);
+			__ASSERT_ALWAYS(((aBuf.Size()+sizeof(boxTextOpt2))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 			Write(&boxTextOpt2,sizeof(boxTextOpt2),aBuf.Ptr(),aBuf.Size(),EWsGcOpDrawBoxTextInContextOptimised2);
 			}
 		}
 	else
 		{
 		TWsGcCmdBoxTextInContext boxText(aBox,aBaselineOffset,aHoriz,aLeftMrg,aBuf.Length(),iPimpl->iFont->TextWidthInPixels(aBuf),aParam->iStart,aParam->iEnd);
+		__ASSERT_ALWAYS(((aBuf.Size()+sizeof(boxText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 		WriteTextCommand(&boxText,sizeof(boxText),aBuf,EWsGcOpDrawBoxTextInContext,EWsGcOpDrawBoxTextInContextPtr);
 		}
 	return KErrNone;
@@ -1509,6 +1517,7 @@
 	{
 	iPimpl->WriteAnyPendingStateChanges();
 	TWsGcCmdDrawTextVertical printText(aPos,aText.Length(),aUp);
+	__ASSERT_ALWAYS(((aText.Size()+sizeof(printText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 	WriteTextCommand(&printText,sizeof(printText),aText,EWsGcOpDrawTextVertical,EWsGcOpDrawTextVerticalPtr);
 	}
 
@@ -1535,6 +1544,7 @@
 	boxText.margin=aMargin;
 	boxText.length=aText.Length();
 	boxText.width=iPimpl->iFont->TextWidthInPixels(aText);
+	__ASSERT_ALWAYS(((aText.Size()+sizeof(boxText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 	WriteTextCommand(&boxText,sizeof(boxText),aText,EWsGcOpDrawBoxTextVertical,EWsGcOpDrawBoxTextVerticalPtr);
 	}
 
@@ -1542,6 +1552,7 @@
 	{
 	iPimpl->WriteAnyPendingStateChanges();
 	TWsGcCmdDrawTextInContextVertical printText(aPos,aText.Length(),aUp,aParam->iStart,aParam->iEnd);
+	__ASSERT_ALWAYS(((aText.Size()+sizeof(printText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 	WriteTextCommand(&printText,sizeof(printText),aText,EWsGcOpDrawTextInContextVertical,EWsGcOpDrawTextInContextVerticalPtr);
 	return KErrNone;
 	}
@@ -1558,6 +1569,7 @@
 	boxText.width=iPimpl->iFont->TextWidthInPixels(aText);
 	boxText.start = aParam->iStart;
 	boxText.end = aParam->iEnd;
+	__ASSERT_ALWAYS(((aText.Size()+sizeof(boxText))<=EClientBufferMaxSize),Panic(EW32PanicSizeNotExpected)); 
 	WriteTextCommand(&boxText,sizeof(boxText),aText,EWsGcOpDrawBoxTextInContextVertical,EWsGcOpDrawBoxTextInContextVerticalPtr);
 	return KErrNone;
 	}
@@ -2255,6 +2267,7 @@
 	CGraphicsResourceWrapperFactory* grwFactory = new CGraphicsResourceWrapperFactory();
 	if (!grwFactory)
 		return KErrNoMemory;
+	// coverity[uninit_use_in_call]
 	CGraphicsResourceWrapper* graphicsResource = grwFactory->NewGraphicsResourceWrapper();
 	if(!graphicsResource)
 		{
--- a/windowing/windowserver/nga/CLIENT/WSGRAPHIC.CPP	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/nga/CLIENT/WSGRAPHIC.CPP	Fri Sep 03 14:44:32 2010 +0100
@@ -232,6 +232,7 @@
 	User::LeaveIfError(Connect());
 	iBuffer->SetWsGraphicManager(this);
 	CActiveScheduler::Add(this);
+	// coverity[negative_returns]
 	iFlusher = CIdle::NewL(CActive::EPriorityIdle);
 	}
 
Binary file windowing/windowserver/test/t_genericplugin/data/ini/wsini_nga.ini has changed
Binary file windowing/windowserver/test/t_genericplugin/data/ini/wsini_nga_onescreen.ini has changed
Binary file windowing/windowserver/test/t_genericplugin/data/ini/wsini_vasco_genericplugin.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_color16ma_norotation.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_color64k_norotation.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_emulator.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_emulator_color16ma.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_emulator_color64k.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_emulator_xga.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_h4.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_h4_color16ma.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_h4_color64k.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_h6.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_h6_color16ma.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_h6_color64k.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_naviengine_color16ma.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_naviengine_color64k.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_integ_norotation.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_wsgcesurfwin_emulator_color16ma.ini has changed
Binary file windowing/windowserver/test/t_integ/data/ini/wsini_wsgcesurfwin_emulator_color64k.ini has changed
--- a/windowing/windowserver/test/t_integ/group/t_app1.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_app1.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -55,7 +55,7 @@
 
 LIBRARY		  	apparc.lib 
 LIBRARY       	bitgdi.lib
-LIBRARY			cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY		  	cone.lib 
 LIBRARY		  	eikcore.lib
 LIBRARY      	euser.lib 
--- a/windowing/windowserver/test/t_integ/group/t_dsaapp.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_dsaapp.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -54,7 +54,7 @@
 
 LIBRARY		  	apparc.lib 
 LIBRARY       	bitgdi.lib
-LIBRARY			cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY		  	cone.lib 
 LIBRARY         efsrv.lib
 LIBRARY		  	eikcore.lib
--- a/windowing/windowserver/test/t_integ/group/t_fpsapp.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_fpsapp.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         gdi.lib
 LIBRARY         ws32.lib
 LIBRARY 		estor.lib
-LIBRARY         cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY         t_winutils.lib   
 LIBRARY         efsrv.lib
 LIBRARY			t_pseudoappengine.lib
--- a/windowing/windowserver/test/t_integ/group/t_inidata.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_inidata.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -44,6 +44,6 @@
 LIBRARY		  	ws32.lib
 LIBRARY       	bitgdi.lib
 LIBRARY		  	hal.lib
-LIBRARY	  	  	cinidata.lib
+LIBRARY			iniparser.lib
 
 SMPSAFE
--- a/windowing/windowserver/test/t_integ/group/t_perfdata.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_perfdata.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -38,7 +38,7 @@
 
 LIBRARY       	euser.lib 
 LIBRARY		  	hal.lib
-LIBRARY		  	cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 
--- a/windowing/windowserver/test/t_integ/group/t_pseudoapp.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_pseudoapp.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -63,7 +63,7 @@
 LIBRARY         gdi.lib
 LIBRARY         ws32.lib
 LIBRARY 		estor.lib
-LIBRARY         cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY         t_winutils.lib   
 LIBRARY         efsrv.lib
 LIBRARY			t_pseudoappengine.lib
--- a/windowing/windowserver/test/t_integ/group/t_pseudoapp1.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_pseudoapp1.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -65,7 +65,7 @@
 LIBRARY         gdi.lib
 LIBRARY         ws32.lib
 LIBRARY 		estor.lib
-LIBRARY         cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY         t_winutils.lib   
 LIBRARY         efsrv.lib
 LIBRARY			t_pseudoappengine.lib
--- a/windowing/windowserver/test/t_integ/group/t_pseudoappengine.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_pseudoappengine.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -51,7 +51,7 @@
 LIBRARY         euser.lib 
 LIBRARY         fbscli.lib
 LIBRARY         ws32.lib
-LIBRARY         cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY         bitgdi.lib
 LIBRARY			surfacemanager.lib
 LIBRARY         surfaceupdateclient.lib
--- a/windowing/windowserver/test/t_integ/group/t_pseudoapppopupwindow.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_pseudoapppopupwindow.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -39,7 +39,7 @@
 
 LIBRARY			euser.lib 
 LIBRARY			ws32.lib
-LIBRARY			cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY			fbscli.lib
 LIBRARY			gdi.lib
 LIBRARY			t_winutils.lib
--- a/windowing/windowserver/test/t_integ/group/t_winutils.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_winutils.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -40,7 +40,7 @@
 LIBRARY       	bitgdi.lib
 LIBRARY			fbscli.lib
 LIBRARY			hal.lib
-LIBRARY			cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY			ws32.lib
 
 SMPSAFE
--- a/windowing/windowserver/test/t_integ/group/t_wservintegserver.mmp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/group/t_wservintegserver.mmp	Fri Sep 03 14:44:32 2010 +0100
@@ -46,7 +46,7 @@
 LIBRARY			efsrv.lib
 LIBRARY			bafl.lib
 LIBRARY			estor.lib
-LIBRARY			cinidata.lib
+LIBRARY			iniparser.lib
 LIBRARY			surfacemanager.lib
 LIBRARY			surfaceupdateclient.lib
 LIBRARY			ws32.lib
--- a/windowing/windowserver/test/t_integ/inc/t_pseudoappeng.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/inc/t_pseudoappeng.h	Fri Sep 03 14:44:32 2010 +0100
@@ -23,7 +23,7 @@
 #define __T_PSEUDOAPP_ENG_H__
 
 #include <w32std.h>
-#include <cinidata.h>
+#include <iniparser.h>
 #include <graphics/surface.h>		//TSurfaceId
 #include <graphics/surfacemanager.h>	//RSurfaceManager
 #include <graphics/surfaceupdateclient.h>
--- a/windowing/windowserver/test/t_integ/inc/t_pseudoappscreen.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/inc/t_pseudoappscreen.h	Fri Sep 03 14:44:32 2010 +0100
@@ -24,7 +24,7 @@
 
 #include <e32base.h>
 #include <gdi.h>					//Display modes
-#include <cinidata.h>
+#include <iniparser.h>
 
 #include "t_pseudoappsurfacedwindow.h"
 #include "t_pseudoapptestresults.h"
--- a/windowing/windowserver/test/t_integ/inc/t_pseudoappsurfacedwindow.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/inc/t_pseudoappsurfacedwindow.h	Fri Sep 03 14:44:32 2010 +0100
@@ -24,7 +24,7 @@
 
 #include <e32base.h>
 #include <gdi.h>			//Display modes
-#include <cinidata.h>
+#include <iniparser.h>
 
 #include <graphics/surface.h>		//TSurfaceId
 #include <graphics/surfacemanager.h>	//RSurfaceManager
--- a/windowing/windowserver/test/t_integ/inc/t_pseudoapputils.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/inc/t_pseudoapputils.h	Fri Sep 03 14:44:32 2010 +0100
@@ -22,7 +22,7 @@
 #ifndef __T_PSEUDOAPPUTILS_H__
 #define __T_PSEUDOAPPUTILS_H__
 
-#include <cinidata.h>
+#include <iniparser.h>
 
 #include "t_wservconsts.h"			//KWServPseudoAppConfigFile
 
--- a/windowing/windowserver/test/t_integ/inc/t_winutils.h	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/inc/t_winutils.h	Fri Sep 03 14:44:32 2010 +0100
@@ -27,7 +27,7 @@
 #include <displaymode.h>
 #include <fbs.h>
 #include <bitdev.h>
-#include <cinidata.h>
+#include <iniparser.h>
 
 class CTestBitmap : public CBase
 	{
--- a/windowing/windowserver/test/t_integ/src/t_app1eng.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/src/t_app1eng.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -19,7 +19,7 @@
  @internalComponent
 */
 
-#include <cinidata.h>
+#include <iniparser.h>
 #include "t_app1eng.h"
 #include "t_inidata.h"
 #include "t_wservconsts.h"
--- a/windowing/windowserver/test/t_integ/src/t_dsaappeng.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/src/t_dsaappeng.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -22,7 +22,7 @@
 #include <eikenv.h>
 #include <s32file.h>
 #include <f32file.h>
-#include <cinidata.h>
+#include <iniparser.h>
 #include "t_inidata.h"
 #include "t_wservconsts.h"
 #include "t_dsaappeng.h"
--- a/windowing/windowserver/test/t_integ/src/t_inidata.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/src/t_inidata.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -19,7 +19,7 @@
  @internalComponent
 */
 
-#include <cinidata.h>
+#include <iniparser.h>
 #include "t_inidata.h"
 #include "t_wservconsts.h"
 
--- a/windowing/windowserver/test/t_integ/src/t_perfdata.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/src/t_perfdata.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -19,7 +19,7 @@
  @internalComponent
 */
 
-#include <cinidata.h>
+#include <iniparser.h>
 #include <s32file.h>
 #include <hal.h>
 #include <e32math.h>
--- a/windowing/windowserver/test/t_integ/src/t_pseudoapppopupwindow.cpp	Tue Aug 31 17:36:36 2010 +0100
+++ b/windowing/windowserver/test/t_integ/src/t_pseudoapppopupwindow.cpp	Fri Sep 03 14:44:32 2010 +0100
@@ -21,7 +21,7 @@
 
 #include <e32debug.h>
 #include <w32std.h>
-#include <cinidata.h>
+#include <iniparser.h>
 
 #include "t_pseudoapppopupwindow.h"
 #include "t_pseudoapputils.h"
Binary file windowing/windowserver/test/t_ratelimiter/data/wsini_hw_multiscreen.ini has changed
Binary file windowing/windowserver/test/t_ratelimiter/data/wsini_hw_singlescreen.ini has changed
Binary file windowing/windowserver/test/t_ratelimiter/data/wsini_vasco_ratelimiter.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_classic.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_classic_naviengine.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_classic_qvga.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_classic_vga.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_nga.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_nga_h6.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_nga_naviengine.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_nga_qvga.ini has changed
Binary file windowing/windowserver/test/tcsc/resources/wsini_csc_nga_vga.ini has changed
Binary file windowing/windowserver/test/tscreenconstruct/data/ini/wsini.ini has changed
Binary file windowing/windowserver/test/tscreenconstruct/data/ini/wsini_screenconstruct.ini has changed
Binary file windowing/windowserver/test/tscreenconstruct/data/ini/wsini_scrmodes.ini has changed