aboutsummaryrefslogtreecommitdiff
path: root/layers/draw_state.cpp
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-04-03 14:42:51 -0600
committerChia-I Wu <olv@lunarg.com>2015-04-16 17:33:26 +0800
commitb974dc317ffa83614d739470ac9cebeb56a5e862 (patch)
tree4011210ecb2a9ea29b7d12ea1812b60126140413 /layers/draw_state.cpp
parentb37f8ae57d58fd1964c907fe9efa407467833da6 (diff)
downloadusermoji-b974dc317ffa83614d739470ac9cebeb56a5e862.tar.xz
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
Diffstat (limited to 'layers/draw_state.cpp')
-rw-r--r--layers/draw_state.cpp18
1 files changed, 18 insertions, 0 deletions
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);