guestrendering/guestvideodriver/ldd/src/devicereqhandler.cpp
branchbug235_bringup_0
changeset 3 ccf5191a9db1
parent 2 e8ccf068ac7f
child 4 e6f11c873cdf
equal deleted inserted replaced
2:e8ccf068ac7f 3:ccf5191a9db1
   214         VVHW_TRACE( "Interrupt::Enable Error: %d", err );
   214         VVHW_TRACE( "Interrupt::Enable Error: %d", err );
   215         }
   215         }
   216     iRequestBuffer.InitBuffer();
   216     iRequestBuffer.InitBuffer();
   217     //Register this object with the extension
   217     //Register this object with the extension
   218     VVHW_TRACE( "DDeviceReqHandler calling ReqHandlerExtension" );
   218     VVHW_TRACE( "DDeviceReqHandler calling ReqHandlerExtension" );
       
   219 #ifdef FAISALMEMON_S4_SGIMAGE
   219     ReqHandlerExtension::SetReqHandler( this );
   220     ReqHandlerExtension::SetReqHandler( this );
       
   221 #endif
   220     }
   222     }
   221 
   223 
   222 // -----------------------------------------------------------------------------
   224 // -----------------------------------------------------------------------------
   223 // DDeviceReqHandler::~DDeviceReqHandler
   225 // DDeviceReqHandler::~DDeviceReqHandler
   224 // -----------------------------------------------------------------------------
   226 // -----------------------------------------------------------------------------
   796             switch( opcode )
   798             switch( opcode )
   797                 {
   799                 {
   798                 case DriverRFC::EDrvCreatePbufferSg:
   800                 case DriverRFC::EDrvCreatePbufferSg:
   799                     {
   801                     {
   800                     VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult : EDrvCreatePbufferSg" );
   802                     VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult : EDrvCreatePbufferSg" );
       
   803 #ifdef FAISALMEMON_S4_SGIMAGE
   801                     if( iSchedulerInitiatedTransactionData )
   804                     if( iSchedulerInitiatedTransactionData )
   802                         {
   805                         {
   803                         ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle = aReq->iRemoteFunctionCall.Header().iReturnValue;
   806                         ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle = aReq->iRemoteFunctionCall.Header().iReturnValue;
   804                         VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult pbuffer=%u", ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle );
   807                         VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult pbuffer=%u", ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle );
   805                         }
   808                         }
   810                                                                     ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle,
   813                                                                     ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle,
   811                                                                     ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iSgId,
   814                                                                     ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iSgId,
   812                                                                     aReq->iAsyncClient,
   815                                                                     aReq->iAsyncClient,
   813                                                                     aReq->iStatus );
   816                                                                     aReq->iStatus );
   814                     *(aReq->iStatus) = 0;//REquestComplete doesn't work
   817                     *(aReq->iStatus) = 0;//REquestComplete doesn't work
       
   818 #endif
   815                     VVHW_TRACE( "Pbuffer creation RequestComplete" );
   819                     VVHW_TRACE( "Pbuffer creation RequestComplete" );
   816                     break;
   820                     break;
   817                     }
   821                     }
   818                 case DriverRFC::EDrvCreateVGImageSg:
   822                 case DriverRFC::EDrvCreateVGImageSg:
   819                     {
   823                     {
   820                     VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult : EDrvCreateVGImageSg" );
   824                     VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult : EDrvCreateVGImageSg" );
       
   825 #ifdef FAISALMEMON_S4_SGIMAGE
   821                     if( iSchedulerInitiatedTransactionData )
   826                     if( iSchedulerInitiatedTransactionData )
   822                         {
   827                         {
   823                         ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle = aReq->iRemoteFunctionCall.Header().iReturnValue;
   828                         ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle = aReq->iRemoteFunctionCall.Header().iReturnValue;
   824                         }
   829                         }
   825                     TVGISId obj ( ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle,
   830                     TVGISId obj ( ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle,
   829                                ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle,
   834                                ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle,
   830                                ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iSgId,
   835                                ((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iSgId,
   831                                aReq->iAsyncClient,
   836                                aReq->iAsyncClient,
   832                                aReq->iStatus );
   837                                aReq->iStatus );
   833                     *(aReq->iStatus) = 0;//REquestComplete doesn't work
   838                     *(aReq->iStatus) = 0;//REquestComplete doesn't work
       
   839 #endif
   834                     VVHW_TRACE( "VGImage creation RequestComplete" );
   840                     VVHW_TRACE( "VGImage creation RequestComplete" );
   835                     break;
   841                     break;
   836                     }
   842                     }
   837                 case DriverRFC::EDrvDeleteSgImage:
   843                 case DriverRFC::EDrvDeleteSgImage:
   838                     {
   844                     {
   907     aReq->iAsyncClient = 0;
   913     aReq->iAsyncClient = 0;
   908     delete aReq;
   914     delete aReq;
   909     VVHW_TRACE("DDeviceReqHandle::ConsumeSchedulerInitiatedRequestResult done.");
   915     VVHW_TRACE("DDeviceReqHandle::ConsumeSchedulerInitiatedRequestResult done.");
   910     }
   916     }
   911 
   917 
       
   918 #ifdef FAISALMEMON_S4_SGIMAGE
   912 /**
   919 /**
   913  * DDeviceReqHandler::CreateSgImagePbuffer
   920  * DDeviceReqHandler::CreateSgImagePbuffer
   914  * @param aInfo the info 
   921  * @param aInfo the info 
   915  */
   922  */
   916 void DDeviceReqHandler::CreateSgImagePbuffer( const TSgImageMetaData& aInfo, TRequestStatus* aStatus, DThread* aThread )
   923 void DDeviceReqHandler::CreateSgImagePbuffer( const TSgImageMetaData& aInfo, TRequestStatus* aStatus, DThread* aThread )
   989         NKern::Sleep( 20 );
   996         NKern::Sleep( 20 );
   990         }
   997         }
   991     VVHW_TRACE("DDeviceReqHandler::CreateSgImageVGImage <-");
   998     VVHW_TRACE("DDeviceReqHandler::CreateSgImageVGImage <-");
   992     return;
   999     return;
   993     }
  1000     }
   994 
  1001 #endif
   995 
       
   996 
       
   997 
  1002 
   998 TInt DDeviceReqHandler::DestroySgImage( const TUint64 aId )
  1003 TInt DDeviceReqHandler::DestroySgImage( const TUint64 aId )
   999     {
  1004     {
  1000     VVHW_TRACE("DDeviceReqHandler::DestroySgImage ->");
  1005     VVHW_TRACE("DDeviceReqHandler::DestroySgImage ->");
  1001     TBool allok = ETrue;
  1006     TBool allok = ETrue;
  1428         iCurrClientData->iErrUpdatedGLES = ErrUpdatedGLES;
  1433         iCurrClientData->iErrUpdatedGLES = ErrUpdatedGLES;
  1429         }
  1434         }
  1430     return alreadyProcessed;
  1435     return alreadyProcessed;
  1431     }
  1436     }
  1432 
  1437 
       
  1438 #ifdef FAISALMEMON_S4_SGIMAGE
  1433 HBuf8* DDeviceReqHandler::OpenSgImageMetaData( const TUint64 aId, DSgResource*& aResource )
  1439 HBuf8* DDeviceReqHandler::OpenSgImageMetaData( const TUint64 aId, DSgResource*& aResource )
  1434     {
  1440     {
  1435     VVHW_TRACE("DDeviceReqHandler::OpenSgImageMetaData 0x%lx", aId );
  1441     VVHW_TRACE("DDeviceReqHandler::OpenSgImageMetaData 0x%lx", aId );
  1436     aResource = 0;
  1442     aResource = 0;
  1437     HBuf8* data(0);
  1443     HBuf8* data(0);
  1447             aResource->GetMetaData( (*data) );
  1453             aResource->GetMetaData( (*data) );
  1448             }
  1454             }
  1449         }
  1455         }
  1450     return data;//If there was a problem, this is zero. Ownership belongs to caller
  1456     return data;//If there was a problem, this is zero. Ownership belongs to caller
  1451     }
  1457     }
       
  1458 #endif