The guestvideohw.ldd now compiles ok. The graphics changeset e40433e31c87 is needed, or later. Only a stub has been put in for the dynamic framebuffer base address. This needs to be properly ported from Jani's earlier work on platsim.
--- a/guestrendering/guestvideodriver/ldd/group/virtualvideohwdevice.mmp Wed Aug 25 17:57:53 2010 +0100
+++ b/guestrendering/guestvideodriver/ldd/group/virtualvideohwdevice.mmp Wed Aug 25 19:17:09 2010 +0100
@@ -17,11 +17,13 @@
TARGET guestvideohw.ldd
TARGETTYPE ldd
+
UID 0 0x20026A2E //- 0x20026A32
LINKAS guestvideohw.ldd
VENDORID 0x70000001
CAPABILITY all
+DEFFILE /epoc32/include/def/eabi/guestvideohw.def
OS_LAYER_SYSTEMINCLUDE
OS_LAYER_KERNEL_SYSTEMINCLUDE
--- a/guestrendering/guestvideodriver/ldd/src/devicereqhandler.cpp Wed Aug 25 17:57:53 2010 +0100
+++ b/guestrendering/guestvideodriver/ldd/src/devicereqhandler.cpp Wed Aug 25 19:17:09 2010 +0100
@@ -216,7 +216,9 @@
iRequestBuffer.InitBuffer();
//Register this object with the extension
VVHW_TRACE( "DDeviceReqHandler calling ReqHandlerExtension" );
+#ifdef FAISALMEMON_S4_SGIMAGE
ReqHandlerExtension::SetReqHandler( this );
+#endif
}
// -----------------------------------------------------------------------------
@@ -798,6 +800,7 @@
case DriverRFC::EDrvCreatePbufferSg:
{
VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult : EDrvCreatePbufferSg" );
+#ifdef FAISALMEMON_S4_SGIMAGE
if( iSchedulerInitiatedTransactionData )
{
((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iPbufferHandle = aReq->iRemoteFunctionCall.Header().iReturnValue;
@@ -812,12 +815,14 @@
aReq->iAsyncClient,
aReq->iStatus );
*(aReq->iStatus) = 0;//REquestComplete doesn't work
+#endif
VVHW_TRACE( "Pbuffer creation RequestComplete" );
break;
}
case DriverRFC::EDrvCreateVGImageSg:
{
VVHW_TRACE( "DDeviceReqHandler::ConsumeSchedulerInitiatedRequestResult : EDrvCreateVGImageSg" );
+#ifdef FAISALMEMON_S4_SGIMAGE
if( iSchedulerInitiatedTransactionData )
{
((TSgImageMetaData*)iSchedulerInitiatedTransactionData)->iVGImageHandle = aReq->iRemoteFunctionCall.Header().iReturnValue;
@@ -831,6 +836,7 @@
aReq->iAsyncClient,
aReq->iStatus );
*(aReq->iStatus) = 0;//REquestComplete doesn't work
+#endif
VVHW_TRACE( "VGImage creation RequestComplete" );
break;
}
@@ -909,6 +915,7 @@
VVHW_TRACE("DDeviceReqHandle::ConsumeSchedulerInitiatedRequestResult done.");
}
+#ifdef FAISALMEMON_S4_SGIMAGE
/**
* DDeviceReqHandler::CreateSgImagePbuffer
* @param aInfo the info
@@ -991,9 +998,7 @@
VVHW_TRACE("DDeviceReqHandler::CreateSgImageVGImage <-");
return;
}
-
-
-
+#endif
TInt DDeviceReqHandler::DestroySgImage( const TUint64 aId )
{
@@ -1430,6 +1435,7 @@
return alreadyProcessed;
}
+#ifdef FAISALMEMON_S4_SGIMAGE
HBuf8* DDeviceReqHandler::OpenSgImageMetaData( const TUint64 aId, DSgResource*& aResource )
{
VVHW_TRACE("DDeviceReqHandler::OpenSgImageMetaData 0x%lx", aId );
@@ -1449,3 +1455,4 @@
}
return data;//If there was a problem, this is zero. Ownership belongs to caller
}
+#endif
--- a/guestrendering/guestvideodriver/ldd/src/virtualvideohwinterface.cpp Wed Aug 25 17:57:53 2010 +0100
+++ b/guestrendering/guestvideodriver/ldd/src/virtualvideohwinterface.cpp Wed Aug 25 19:17:09 2010 +0100
@@ -263,5 +263,22 @@
}
}
+// TODO FAISALMEMON This is the first portion of the port of Jani's
+// Dynamic framebuffer base address code. Inspect this code, and also
+// put in the rest of the code.
+EXPORT_C TPhysAddr DVirtualVideoHwInterface::GetFrameBase()
+ {
+#ifdef FAISALMEMON_DONE_DYNAMIC_FRAMEBUFFER_PORT
+ TPhysAddr ret = 0;
+ if(DVirtualVideoHwInterface::pVVHIf != NULL)
+ {
+ ret = DVirtualVideoHwInterface::pVVHIf->iFrameRamPhys;
+ }
+ return ret;
+#else
+ return 0;
+#endif
+}
+
// End of file