From ecf76b7105c8e3e75514d790aee731a671535d2c Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Wed, 25 Feb 2015 12:16:04 -0600 Subject: layers: Validation check for CPU_VISIBLE bit set on MapMemory calls --- layers/mem_tracker.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'layers') diff --git a/layers/mem_tracker.c b/layers/mem_tracker.c index a24e1a2c..1d1b894f 100644 --- a/layers/mem_tracker.c +++ b/layers/mem_tracker.c @@ -939,6 +939,12 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglSetMemoryPriority(XGL_GPU_MEMORY mem, XGL_ XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglMapMemory(XGL_GPU_MEMORY mem, XGL_FLAGS flags, void** ppData) { // TODO : Track when memory is mapped + GLOBAL_MEM_OBJ_NODE *pMemObj = getGlobalMemNode(mem); + if ((pMemObj->allocInfo.memProps & XGL_MEMORY_PROPERTY_CPU_VISIBLE_BIT) == 0) { + char str[1024]; + sprintf(str, "Mapping Memory (%p) without XGL_MEMORY_PROPERTY_CPU_VISIBLE_BIT set", (void*)mem); + layerCbMsg(XGL_DBG_MSG_ERROR, XGL_VALIDATION_LEVEL_0, mem, 0, MEMTRACK_INVALID_STATE, "MEM", str); + } XGL_RESULT result = nextTable.MapMemory(mem, flags, ppData); return result; } -- cgit v1.2.3