aboutsummaryrefslogtreecommitdiff
path: root/layers
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2015-02-25 12:16:04 -0600
committerMark Lobodzinski <mark@lunarg.com>2015-02-25 13:33:46 -0600
commitecf76b7105c8e3e75514d790aee731a671535d2c (patch)
treedcf52c0472e1419183349612643324d0c612eb0d /layers
parent71ea17d0918c57422bebeeb75cae6f9472c6944e (diff)
downloadusermoji-ecf76b7105c8e3e75514d790aee731a671535d2c.tar.xz
layers: Validation check for CPU_VISIBLE bit set on MapMemory calls
Diffstat (limited to 'layers')
-rw-r--r--layers/mem_tracker.c6
1 files changed, 6 insertions, 0 deletions
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;
}