diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2015-03-31 16:05:35 -0500 |
|---|---|---|
| committer | Chia-I Wu <olv@lunarg.com> | 2015-04-16 17:33:29 +0800 |
| commit | 6b252a69e6e13be2c334f717059e72efae06a1dc (patch) | |
| tree | 84be006c86044d4e02bcf1bcce37ecaa4706234e /layers/mem_tracker.cpp | |
| parent | 2c2fbbf922918685c9bda0d670197bd0ad2077ca (diff) | |
| download | usermoji-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.cpp | 26 |
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; |
