photosgallery/viewframework/uiutilities/src/glxrequestfreegoom.cpp
branchRCL_3
changeset 24 ea65f74e6de4
parent 21 f9e827349359
equal deleted inserted replaced
23:b023a8d2866a 24:ea65f74e6de4
    18 #include <glxtracer.h>
    18 #include <glxtracer.h>
    19 #include <glxlog.h>
    19 #include <glxlog.h>
    20 
    20 
    21 #include "glxrequestfreegoom.h"
    21 #include "glxrequestfreegoom.h"
    22 
    22 
    23 const TInt KMinMemoryRequest = 3145728; // 3 MB
    23 const TInt KMinMemoryRequest = 16000000; // 2000 x 2000 x 4 (32 bit display mode)
    24 
    24 
    25 // ----------------------------------------------------------------------------
    25 // ----------------------------------------------------------------------------
    26 // CGlxRelaseGPUMemory::NewL
    26 // CGlxRelaseGPUMemory::NewL
    27 // ----------------------------------------------------------------------------
    27 // ----------------------------------------------------------------------------
    28 //
    28 //
    53 // CGlxRelaseGPUMemory::CGlxRelaseGPUMemory
    53 // CGlxRelaseGPUMemory::CGlxRelaseGPUMemory
    54 // ----------------------------------------------------------------------------
    54 // ----------------------------------------------------------------------------
    55 //
    55 //
    56 CGlxRelaseGPUMemory::CGlxRelaseGPUMemory(MGoomNotifierObserver& aNotify) :
    56 CGlxRelaseGPUMemory::CGlxRelaseGPUMemory(MGoomNotifierObserver& aNotify) :
    57     CActive(CActive::EPriorityStandard), iNotify(aNotify), iIsFirstRequest(
    57     CActive(CActive::EPriorityStandard), iNotify(aNotify), iIsFirstRequest(
    58             ETrue)
    58             ETrue),iNotifyCaller(ETrue)
    59     {
    59     {
    60     TRACER("CGlxRelaseGPUMemory::CGlxRelaseGPUMemory()");
    60     TRACER("CGlxRelaseGPUMemory::CGlxRelaseGPUMemory()");
    61     CActiveScheduler::Add(this);
    61     CActiveScheduler::Add(this);
    62     }
    62     }
    63 
    63 
   102 
   102 
   103 // ----------------------------------------------------------------------------
   103 // ----------------------------------------------------------------------------
   104 // CGlxRelaseGPUMemory::RequestMemory()
   104 // CGlxRelaseGPUMemory::RequestMemory()
   105 // ----------------------------------------------------------------------------
   105 // ----------------------------------------------------------------------------
   106 //
   106 //
   107 EXPORT_C void CGlxRelaseGPUMemory::RequestMemory()
   107 EXPORT_C void CGlxRelaseGPUMemory::RequestMemory(TBool aRequest)
   108     {
   108     {
   109     TRACER("CGlxRelaseGPUMemory::RequestMemory()");
   109     TRACER("CGlxRelaseGPUMemory::RequestMemory()");
       
   110     iNotifyCaller = aRequest;
   110     IssueRequest();
   111     IssueRequest();
   111     }
   112     }
   112 
   113 
   113 // ----------------------------------------------------------------------------
   114 // ----------------------------------------------------------------------------
   114 // CGlxRelaseGPUMemory::DoCancel()
   115 // CGlxRelaseGPUMemory::DoCancel()
   141         IssueRequest();
   142         IssueRequest();
   142         return;
   143         return;
   143         }
   144         }
   144 
   145 
   145     // Notify observer on the RequestFreeMemory() status
   146     // Notify observer on the RequestFreeMemory() status
   146     iNotify.HandleGoomMemoryReleased(iStatus.Int());
   147     if(iNotifyCaller || (iStatus.Int() != KErrNone))
       
   148         {
       
   149     	iNotify.HandleGoomMemoryReleased(iStatus.Int());
       
   150         }
       
   151     iNotifyCaller = EFalse;
   147     }
   152     }