Create wrapper for GmmClientContext

reduce mock gmm to implementation of OpenGmm function

Change-Id: I657412af2d11486c9924cf3ab9a8b4f51e603964
This commit is contained in:
Mateusz Jablonski
2018-06-14 07:50:18 +02:00
committed by sys_ocldev
parent 861d001cba
commit 50c31872d8
26 changed files with 380 additions and 657 deletions

View File

@ -20,17 +20,20 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
#include "gmm_client_context.h"
#include "runtime/gmm_helper/gmm_helper.h"
#include "runtime/gmm_helper/page_table_mngr.h"
namespace OCLRT {
void GmmPageTableMngr::customDeleter(GMM_PAGETABLE_MGR *gmmPageTableManager) {
Gmm::gmmClientContext->DestroyPageTblMgrObject(gmmPageTableManager);
GmmPageTableMngr::~GmmPageTableMngr() {
if (clientContext) {
clientContext->DestroyPageTblMgrObject(pageTableManager);
}
}
GmmPageTableMngr::GmmPageTableMngr(GMM_DEVICE_CALLBACKS_INT *deviceCb, unsigned int translationTableFlags, GMM_TRANSLATIONTABLE_CALLBACKS *translationTableCb) {
auto pageTableMngrPtr = Gmm::gmmClientContext->CreatePageTblMgrObject(deviceCb, translationTableCb, translationTableFlags);
this->pageTableManager = UniquePtrType(pageTableMngrPtr, GmmPageTableMngr::customDeleter);
clientContext = Gmm::gmmClientContext->getHandle();
pageTableManager = clientContext->CreatePageTblMgrObject(deviceCb, translationTableCb, translationTableFlags);
}
} // namespace OCLRT