diff options
Diffstat (limited to 'layers')
| -rw-r--r-- | layers/draw_state.c | 17 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 11 |
2 files changed, 26 insertions, 2 deletions
diff --git a/layers/draw_state.c b/layers/draw_state.c index 9fa0cc2a..c655b572 100644 --- a/layers/draw_state.c +++ b/layers/draw_state.c @@ -2340,6 +2340,23 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdCopyImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE nextTable.CmdCopyImage(cmdBuffer, srcImage, destImage, regionCount, pRegions); } +XGL_LAYER_EXPORT void XGLAPI xglCmdBlitImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE srcImage, XGL_IMAGE_LAYOUT srcLayout, + XGL_IMAGE destImage, XGL_IMAGE_LAYOUT destLayout, + uint32_t regionCount, const XGL_IMAGE_BLIT* pRegions) +{ + GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); + if (pCB) { + updateCBTracking(cmdBuffer); + addCmd(pCB, CMD_COPYIMAGE); + } + else { + char str[1024]; + sprintf(str, "Attempt to use CmdBuffer %p that doesn't exist!", (void*)cmdBuffer); + layerCbMsg(XGL_DBG_MSG_ERROR, XGL_VALIDATION_LEVEL_0, cmdBuffer, 0, DRAWSTATE_INVALID_CMD_BUFFER, "DS", str); + } + nextTable.CmdBlitImage(cmdBuffer, srcImage, srcLayout, destImage, destLayout, regionCount, pRegions); +} + XGL_LAYER_EXPORT void XGLAPI xglCmdCopyBufferToImage(XGL_CMD_BUFFER cmdBuffer, XGL_BUFFER srcBuffer, XGL_IMAGE destImage, uint32_t regionCount, const XGL_BUFFER_IMAGE_COPY* pRegions) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index c68dc977..768c60b4 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1473,8 +1473,15 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdCopyImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE nextTable.CmdCopyImage(cmdBuffer, srcImage, destImage, regionCount, pRegions); } -XGL_LAYER_EXPORT void XGLAPI xglCmdCopyBufferToImage(XGL_CMD_BUFFER cmdBuffer, XGL_BUFFER srcBuffer, XGL_IMAGE destImage, - uint32_t regionCount, const XGL_BUFFER_IMAGE_COPY* pRegions) +XGL_LAYER_EXPORT void XGLAPI xglCmdBlitImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE srcImage, XGL_IMAGE_LAYOUT srcLayout, + XGL_IMAGE destImage, uint32_t regionCount, XGL_IMAGE_LAYOUT destLayout, + const XGL_IMAGE_BLIT* pRegions) +{ + // TODO : Each image will have mem mapping so track them + nextTable.CmdBlitImage(cmdBuffer, srcImage, srcLayout, destImage, destLayout, regionCount, pRegions); +} + +XGL_LAYER_EXPORT void XGLAPI xglCmdCopyBufferToImage(XGL_CMD_BUFFER cmdBuffer, XGL_BUFFER srcBuffer, XGL_IMAGE destImage, uint32_t regionCount, const XGL_BUFFER_IMAGE_COPY* pRegions) { // TODO : Track this loader_platform_thread_lock_mutex(&globalLock); |
