aboutsummaryrefslogtreecommitdiff
path: root/layers/mem_tracker.cpp
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2015-03-31 16:05:35 -0500
committerChia-I Wu <olv@lunarg.com>2015-04-16 17:33:29 +0800
commit6b252a69e6e13be2c334f717059e72efae06a1dc (patch)
tree84be006c86044d4e02bcf1bcce37ecaa4706234e /layers/mem_tracker.cpp
parent2c2fbbf922918685c9bda0d670197bd0ad2077ca (diff)
downloadusermoji-6b252a69e6e13be2c334f717059e72efae06a1dc.tar.xz
layers: Added GetDeviceQueue API, fixed up variable names
Updated LinkedList-related variable names Conflicts: layers/mem_tracker.cpp
Diffstat (limited to 'layers/mem_tracker.cpp')
-rw-r--r--layers/mem_tracker.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index e37d1778..0a8bbc22 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -84,7 +84,7 @@ static void addCBInfo(const XGL_CMD_BUFFER cb)
MT_CB_INFO* pInfo = new MT_CB_INFO;
memset(pInfo, 0, (sizeof(MT_CB_INFO) - sizeof(list<XGL_GPU_MEMORY>)));
pInfo->cmdBuffer = cb;
- cbMap[cb] = pInfo;
+ cbMap[cb] = pInfo;
}
// Return ptr to Info in CB map, or NULL if not found
@@ -129,7 +129,6 @@ static void deleteFenceInfo(uint64_t fenceId)
{
if (fenceId != 0) {
if (fenceMap.find(fenceId) != fenceMap.end()) {
- map<uint64_t, MT_FENCE_INFO*>::iterator item;
MT_FENCE_INFO* pDelInfo = fenceMap[fenceId];
if (pDelInfo != NULL) {
if (pDelInfo->localFence == XGL_TRUE) {
@@ -137,8 +136,8 @@ static void deleteFenceInfo(uint64_t fenceId)
}
delete pDelInfo;
}
- item = fenceMap.find(fenceId);
- fenceMap.erase(item);
+ delete pDelInfo;
+ fenceMap.erase(fenceId);
}
}
}
@@ -470,10 +469,13 @@ static bool32_t checkCBCompleted(const XGL_CMD_BUFFER cb)
result = XGL_FALSE;
} else {
if (!fenceRetired(pCBInfo->fenceId)) {
- char str[1024];
- sprintf(str, "FenceId %" PRIx64", fence %p for CB %p has not been checked for completion", pCBInfo->fenceId, getFenceFromId(pCBInfo->fenceId), cb);
- layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, cb, 0, MEMTRACK_NONE, "MEM", str);
- result = XGL_FALSE;
+ // Explicitly call the internal xglGetFenceStatus routine
+ if (XGL_SUCCESS != xglGetFenceStatus(getFenceFromId(pCBInfo->fenceId))) {
+ char str[1024];
+ sprintf(str, "FenceId %" PRIx64", fence %p for CB %p has not completed", pCBInfo->fenceId, getFenceFromId(pCBInfo->fenceId), cb);
+ layerCbMsg(XGL_DBG_MSG_UNKNOWN, XGL_VALIDATION_LEVEL_0, cb, 0, MEMTRACK_NONE, "MEM", str);
+ result = XGL_FALSE;
+ }
}
}
return result;
@@ -860,6 +862,12 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglEnumerateLayers(XGL_PHYSICAL_GPU gpu, size
}
}
+XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglGetDeviceQueue(XGL_DEVICE device, uint32_t queueNodeIndex, uint32_t queueIndex, XGL_QUEUE* pQueue)
+{
+ XGL_RESULT result = nextTable.GetDeviceQueue(device, queueNodeIndex, queueIndex, pQueue);
+ return result;
+}
+
XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglQueueSubmit(XGL_QUEUE queue, uint32_t cmdBufferCount, const XGL_CMD_BUFFER* pCmdBuffers, XGL_FENCE fence)
{
loader_platform_thread_lock_mutex(&globalLock);
@@ -1902,6 +1910,8 @@ XGL_LAYER_EXPORT void* XGLAPI xglGetProcAddr(XGL_PHYSICAL_GPU gpu, const char* f
return (void*) xglDbgRegisterMsgCallback;
if (!strcmp(funcName, "xglDbgUnregisterMsgCallback"))
return (void*) xglDbgUnregisterMsgCallback;
+ if (!strcmp(funcName, "xglGetDeviceQueue"))
+ return (void*) xglGetDeviceQueue;
#if !defined(WIN32)
if (!strcmp(funcName, "xglWsiX11CreatePresentableImage"))
return (void*) xglWsiX11CreatePresentableImage;