From b974dc317ffa83614d739470ac9cebeb56a5e862 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Fri, 3 Apr 2015 14:42:51 -0600 Subject: xgl: Add xglCmdBlitImage entry point Rebase updates Part one of adding support for abitrary scaled blits and format conversions. Just interface here. Functionality to follow. bug #13071 alpha rev: r29665 --- layers/draw_state.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'layers/draw_state.cpp') diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 73d620db..32a4fbc9 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -2199,6 +2199,24 @@ 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 srcImageLayout, + XGL_IMAGE destImage, XGL_IMAGE_LAYOUT destImageLayout, + 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, srcImageLayout, destImage, destImageLayout, 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); -- cgit v1.2.3