diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-04-03 16:35:32 -0600 |
|---|---|---|
| committer | Chia-I Wu <olv@lunarg.com> | 2015-04-16 17:33:25 +0800 |
| commit | 374553cbc2d26d8a523cef7dd5b11150a09129d0 (patch) | |
| tree | 8224bda78e841a6d280de342c9ee4b72f9f21a29 | |
| parent | 49ffd3f1ecf0d6e034ae6d5ebdc147563b7124e8 (diff) | |
| download | usermoji-374553cbc2d26d8a523cef7dd5b11150a09129d0.tar.xz | |
xgl: combine xglCmdClearColor* into one function
combined the two xglCmdClearColorImage* functions into one,
with the XGL_CLEAR_COLOR struct
bug # 13172
alpha header: r29626
| -rw-r--r-- | demos/cube.c | 6 | ||||
| -rw-r--r-- | demos/tri.c | 5 | ||||
| -rw-r--r-- | icd/nulldrv/nulldrv.c | 12 | ||||
| -rw-r--r-- | include/xgl.h | 14 | ||||
| -rw-r--r-- | include/xglLayer.h | 1 | ||||
| -rw-r--r-- | layers/draw_state.c | 19 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 19 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 23 | ||||
| -rwxr-xr-x | xgl-layer-generate.py | 35 | ||||
| -rw-r--r-- | xgl.py | 9 |
10 files changed, 42 insertions, 101 deletions
diff --git a/demos/cube.c b/demos/cube.c index 601d1deb..6f2d24c7 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -274,7 +274,10 @@ static void demo_draw_build_cmd(struct demo *demo, XGL_CMD_BUFFER cmd_buf) .view = demo->depth.view, .layout = XGL_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, }; - const float clear_color[4] = { 0.2f, 0.2f, 0.2f, 0.2f }; + const XGL_CLEAR_COLOR clear_color = { + .color.floatColor = { 0.2f, 0.2f, 0.2f, 0.2f }, + .useRawValue = false, + }; const float clear_depth = 1.0f; XGL_IMAGE_SUBRESOURCE_RANGE clear_range; XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO graphics_cmd_buf_info = { @@ -310,6 +313,7 @@ static void demo_draw_build_cmd(struct demo *demo, XGL_CMD_BUFFER cmd_buf) rp_info.renderArea.extent.width = demo->width; rp_info.renderArea.extent.height = demo->height; rp_info.colorAttachmentCount = 1; + rp_info.pColorLoadClearValues = &clear_color; rp_info.pColorLoadOps = &load_op; rp_info.pColorStoreOps = &store_op; rp_info.depthLoadOp = XGL_ATTACHMENT_LOAD_OP_DONT_CARE; diff --git a/demos/tri.c b/demos/tri.c index d42719f7..d3a03779 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -104,7 +104,10 @@ static void demo_draw_build_cmd(struct demo *demo) .view = demo->depth.view, .layout = XGL_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, }; - const float clear_color[4] = { 0.2f, 0.2f, 0.2f, 0.2f }; + const XGL_CLEAR_COLOR clear_color = { + .color.floatColor = { 0.2f, 0.2f, 0.2f, 0.2f }, + .useRawValue = false, + }; const float clear_depth = 0.9f; XGL_IMAGE_SUBRESOURCE_RANGE clear_range; XGL_CMD_BUFFER_GRAPHICS_BEGIN_INFO graphics_cmd_buf_info = { diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c index dd5061ee..4887d3bc 100644 --- a/icd/nulldrv/nulldrv.c +++ b/icd/nulldrv/nulldrv.c @@ -968,17 +968,7 @@ ICD_EXPORT void XGLAPI xglCmdFillBuffer( ICD_EXPORT void XGLAPI xglCmdClearColorImage( XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, - const float color[4], - uint32_t rangeCount, - const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) -{ - NULLDRV_LOG_FUNC; -} - -ICD_EXPORT void XGLAPI xglCmdClearColorImageRaw( - XGL_CMD_BUFFER cmdBuffer, - XGL_IMAGE image, - const uint32_t color[4], + XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { diff --git a/include/xgl.h b/include/xgl.h index 4cea9e06..94cac948 100644 --- a/include/xgl.h +++ b/include/xgl.h @@ -33,7 +33,7 @@ #include "xglPlatform.h" // XGL API version supported by this file -#define XGL_API_VERSION XGL_MAKE_VERSION(0, 53, 0) +#define XGL_API_VERSION XGL_MAKE_VERSION(0, 54, 0) #ifdef __cplusplus extern "C" @@ -2308,8 +2308,7 @@ typedef void (XGLAPI *xglCmdCopyImageToBufferType)(XGL_CMD_BUFFER cmdBuffe typedef void (XGLAPI *xglCmdCloneImageDataType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE srcImage, XGL_IMAGE_LAYOUT srcImageLayout, XGL_IMAGE destImage, XGL_IMAGE_LAYOUT destImageLayout); typedef void (XGLAPI *xglCmdUpdateBufferType)(XGL_CMD_BUFFER cmdBuffer, XGL_BUFFER destBuffer, XGL_GPU_SIZE destOffset, XGL_GPU_SIZE dataSize, const uint32_t* pData); typedef void (XGLAPI *xglCmdFillBufferType)(XGL_CMD_BUFFER cmdBuffer, XGL_BUFFER destBuffer, XGL_GPU_SIZE destOffset, XGL_GPU_SIZE fillSize, uint32_t data); -typedef void (XGLAPI *xglCmdClearColorImageType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const float color[4], uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges); -typedef void (XGLAPI *xglCmdClearColorImageRawType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const uint32_t color[4], uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges); +typedef void (XGLAPI *xglCmdClearColorImageType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges); typedef void (XGLAPI *xglCmdClearDepthStencilType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, float depth, uint32_t stencil, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges); typedef void (XGLAPI *xglCmdResolveImageType)(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE srcImage, XGL_IMAGE destImage, uint32_t rectCount, const XGL_IMAGE_RESOLVE* pRects); typedef void (XGLAPI *xglCmdSetEventType)(XGL_CMD_BUFFER cmdBuffer, XGL_EVENT event, XGL_SET_EVENT pipeEvent); @@ -2875,14 +2874,7 @@ void XGLAPI xglCmdFillBuffer( void XGLAPI xglCmdClearColorImage( XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, - const float color[4], - uint32_t rangeCount, - const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges); - -void XGLAPI xglCmdClearColorImageRaw( - XGL_CMD_BUFFER cmdBuffer, - XGL_IMAGE image, - const uint32_t color[4], + XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges); diff --git a/include/xglLayer.h b/include/xglLayer.h index d6a7fbb2..05fa5ec0 100644 --- a/include/xglLayer.h +++ b/include/xglLayer.h @@ -122,7 +122,6 @@ typedef struct _XGL_LAYER_DISPATCH_TABLE xglCmdUpdateBufferType CmdUpdateBuffer; xglCmdFillBufferType CmdFillBuffer; xglCmdClearColorImageType CmdClearColorImage; - xglCmdClearColorImageRawType CmdClearColorImageRaw; xglCmdClearDepthStencilType CmdClearDepthStencil; xglCmdResolveImageType CmdResolveImage; xglCmdSetEventType CmdSetEvent; diff --git a/layers/draw_state.c b/layers/draw_state.c index b79a015c..96f15a79 100644 --- a/layers/draw_state.c +++ b/layers/draw_state.c @@ -2415,7 +2415,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdFillBuffer(XGL_CMD_BUFFER cmdBuffer, XGL_BUFF nextTable.CmdFillBuffer(cmdBuffer, destBuffer, destOffset, fillSize, data); } -XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const float color[4], uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) +XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); if (pCB) { @@ -2430,21 +2430,6 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL nextTable.CmdClearColorImage(cmdBuffer, image, color, rangeCount, pRanges); } -XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImageRaw(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const uint32_t color[4], uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) -{ - GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); - if (pCB) { - updateCBTracking(cmdBuffer); - addCmd(pCB, CMD_CLEARCOLORIMAGERAW); - } - 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.CmdClearColorImageRaw(cmdBuffer, image, color, rangeCount, pRanges); -} - XGL_LAYER_EXPORT void XGLAPI xglCmdClearDepthStencil(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, float depth, uint32_t stencil, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); @@ -2888,8 +2873,6 @@ XGL_LAYER_EXPORT void* XGLAPI xglGetProcAddr(XGL_PHYSICAL_GPU gpu, const char* f return (void*) xglCmdFillBuffer; if (!strcmp(funcName, "xglCmdClearColorImage")) return (void*) xglCmdClearColorImage; - if (!strcmp(funcName, "xglCmdClearColorImageRaw")) - return (void*) xglCmdClearColorImageRaw; if (!strcmp(funcName, "xglCmdClearDepthStencil")) return (void*) xglCmdClearDepthStencil; if (!strcmp(funcName, "xglCmdResolveImage")) diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 97e31fe5..415634b7 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -2274,7 +2274,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdFillBuffer(XGL_CMD_BUFFER cmdBuffer, XGL_BUFF nextTable.CmdFillBuffer(cmdBuffer, destBuffer, destOffset, fillSize, data); } -XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const float color[4], uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) +XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); if (pCB) { @@ -2289,21 +2289,6 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL nextTable.CmdClearColorImage(cmdBuffer, image, color, rangeCount, pRanges); } -XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImageRaw(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const uint32_t color[4], uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) -{ - GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); - if (pCB) { - updateCBTracking(cmdBuffer); - addCmd(pCB, CMD_CLEARCOLORIMAGERAW); - } - 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.CmdClearColorImageRaw(cmdBuffer, image, color, rangeCount, pRanges); -} - XGL_LAYER_EXPORT void XGLAPI xglCmdClearDepthStencil(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, float depth, uint32_t stencil, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); @@ -2792,8 +2777,6 @@ XGL_LAYER_EXPORT void* XGLAPI xglGetProcAddr(XGL_PHYSICAL_GPU gpu, const char* f return (void*) xglCmdFillBuffer; if (!strcmp(funcName, "xglCmdClearColorImage")) return (void*) xglCmdClearColorImage; - if (!strcmp(funcName, "xglCmdClearColorImageRaw")) - return (void*) xglCmdClearColorImageRaw; if (!strcmp(funcName, "xglCmdClearDepthStencil")) return (void*) xglCmdClearDepthStencil; if (!strcmp(funcName, "xglCmdResolveImage")) diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 9b75d503..3c2dec09 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1563,8 +1563,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdFillBuffer(XGL_CMD_BUFFER cmdBuffer, XGL_BUFF nextTable.CmdFillBuffer(cmdBuffer, destBuffer, destOffset, fillSize, data); } -XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const float color[4], - uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) +XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, XGL_CLEAR_COLOR color, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { // TODO : Verify memory is in XGL_IMAGE_STATE_CLEAR state loader_platform_thread_lock_mutex(&globalLock); @@ -1578,23 +1577,7 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImage(XGL_CMD_BUFFER cmdBuffer, XGL nextTable.CmdClearColorImage(cmdBuffer, image, color, rangeCount, pRanges); } -XGL_LAYER_EXPORT void XGLAPI xglCmdClearColorImageRaw(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, const uint32_t color[4], - uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) -{ - // TODO : Verify memory is in XGL_IMAGE_STATE_CLEAR state - loader_platform_thread_lock_mutex(&globalLock); - XGL_GPU_MEMORY mem = getMemBindingFromObject(image); - if (XGL_FALSE == updateCBBinding(cmdBuffer, mem)) { - char str[1024]; - sprintf(str, "In xglCmdClearColorImageRaw() call unable to update binding of image buffer %p to cmdBuffer %p", image, cmdBuffer); - layerCbMsg(XGL_DBG_MSG_ERROR, XGL_VALIDATION_LEVEL_0, cmdBuffer, 0, MEMTRACK_MEMORY_BINDING_ERROR, "MEM", str); - } - loader_platform_thread_unlock_mutex(&globalLock); - nextTable.CmdClearColorImageRaw(cmdBuffer, image, color, rangeCount, pRanges); -} - -XGL_LAYER_EXPORT void XGLAPI xglCmdClearDepthStencil(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, float depth, - uint32_t stencil, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) +XGL_LAYER_EXPORT void XGLAPI xglCmdClearDepthStencil(XGL_CMD_BUFFER cmdBuffer, XGL_IMAGE image, float depth, uint32_t stencil, uint32_t rangeCount, const XGL_IMAGE_SUBRESOURCE_RANGE* pRanges) { // TODO : Verify memory is in XGL_IMAGE_STATE_CLEAR state loader_platform_thread_lock_mutex(&globalLock); @@ -1874,8 +1857,6 @@ XGL_LAYER_EXPORT void* XGLAPI xglGetProcAddr(XGL_PHYSICAL_GPU gpu, const char* f return (void*) xglCmdFillBuffer; if (!strcmp(funcName, "xglCmdClearColorImage")) return (void*) xglCmdClearColorImage; - if (!strcmp(funcName, "xglCmdClearColorImageRaw")) - return (void*) xglCmdClearColorImageRaw; if (!strcmp(funcName, "xglCmdClearDepthStencil")) return (void*) xglCmdClearDepthStencil; if (!strcmp(funcName, "xglCmdResolveImage")) diff --git a/xgl-layer-generate.py b/xgl-layer-generate.py index 01aafb6b..a21b004a 100755 --- a/xgl-layer-generate.py +++ b/xgl-layer-generate.py @@ -134,6 +134,8 @@ class Subcommand(object): return ("{%s.channelFormat = %%s, %s.numericFormat = %%s}" % (name, name), "string_XGL_CHANNEL_FORMAT(%s.channelFormat), string_XGL_NUM_FORMAT(%s.numericFormat)" % (name, name)) if output_param: return ("%p", "(void*)*%s" % name) + if xgl_helper.is_type(xgl_type, 'struct') and '*' not in xgl_type: + return ("%p", "(void*)(&%s)" % name) return ("%p", "(void*)(%s)" % name) def _gen_layer_dbg_callback_register(self): @@ -329,22 +331,27 @@ class Subcommand(object): for sp_index in sp_param_dict: if 'index' == sp_param_dict[sp_index]: cis_print_func = 'xgl_print_%s' % (proto.params[sp_index].ty.strip('const ').strip('*').lower()) - log_func += '\n if (%s) {' % (proto.params[sp_index].name) - log_func += '\n tmp_str = %s(%s, " ");' % (cis_print_func, proto.params[sp_index].name) + var_name = proto.params[sp_index].name + if proto.params[sp_index].name != 'color': + log_func += '\n if (%s) {' % (proto.params[sp_index].name) + else: + var_name = '&%s' % (proto.params[sp_index].name) + log_func += '\n tmp_str = %s(%s, " ");' % (cis_print_func, var_name) if "File" in layer: if no_addr: log_func += '\n fprintf(pOutFile, " %s (addr)\\n%%s\\n", pTmpStr);' % (proto.params[sp_index].name) else: - log_func += '\n fprintf(pOutFile, " %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (proto.params[sp_index].name, proto.params[sp_index].name) + log_func += '\n fprintf(pOutFile, " %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (proto.params[sp_index].name, var_name) else: if no_addr: #log_func += '\n printf(" %s (addr)\\n%%s\\n", pTmpStr);' % (proto.params[sp_index].name) log_func += '\n cout << " %s (addr)" << endl << tmp_str << endl;' % (proto.params[sp_index].name) else: #log_func += '\n printf(" %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (proto.params[sp_index].name, proto.params[sp_index].name) - log_func += '\n cout << " %s (" << %s << ")" << endl << tmp_str << endl;' % (proto.params[sp_index].name, proto.params[sp_index].name) + log_func += '\n cout << " %s (" << %s << ")" << endl << tmp_str << endl;' % (proto.params[sp_index].name, var_name) #log_func += '\n fflush(stdout);' - log_func += '\n }' + if proto.params[sp_index].name != 'color': + log_func += '\n }' else: # We have a count value stored to iterate over an array print_cast = '' print_func = '' @@ -493,20 +500,26 @@ class Subcommand(object): # TODO : Clean this if/else block up, too much duplicated code if 'index' == sp_param_dict[sp_index]: cis_print_func = 'xgl_print_%s' % (proto.params[sp_index].ty.strip('const ').strip('*').lower()) - log_func += '\n if (%s) {' % (proto.params[sp_index].name) - log_func += '\n pTmpStr = %s(%s, " ");' % (cis_print_func, proto.params[sp_index].name) + var_name = proto.params[sp_index].name + if proto.params[sp_index].name != 'color': + log_func += '\n if (%s) {' % (proto.params[sp_index].name) + else: + var_name = "&%s" % proto.params[sp_index].name + log_func += '\n pTmpStr = %s(%s, " ");' % (cis_print_func, var_name) if "File" in layer: if no_addr: - log_func += '\n fprintf(pOutFile, " %s (addr)\\n%%s\\n", pTmpStr);' % (proto.params[sp_index].name) + log_func += '\n fprintf(pOutFile, " %s (addr)\\n%%s\\n", pTmpStr);' % (var_name) else: - log_func += '\n fprintf(pOutFile, " %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (proto.params[sp_index].name, proto.params[sp_index].name) + log_func += '\n fprintf(pOutFile, " %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (var_name, var_name) else: if no_addr: log_func += '\n printf(" %s (addr)\\n%%s\\n", pTmpStr);' % (proto.params[sp_index].name) else: - log_func += '\n printf(" %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (proto.params[sp_index].name, proto.params[sp_index].name) + log_func += '\n printf(" %s (%%p)\\n%%s\\n", (void*)%s, pTmpStr);' % (proto.params[sp_index].name, var_name) log_func += '\n fflush(stdout);' - log_func += '\n free(pTmpStr);\n }' + log_func += '\n free(pTmpStr);' + if proto.params[sp_index].name != 'color': + log_func += '\n }' else: # should have a count value stored to iterate over array if xgl_helper.is_type(proto.params[sp_index].ty.strip('*').strip('const '), 'struct'): cis_print_func = 'pTmpStr = xgl_print_%s(&%s[i], " ");' % (proto.params[sp_index].ty.strip('const ').strip('*').lower(), proto.params[sp_index].name) @@ -714,14 +714,7 @@ core = Extension( Proto("void", "CmdClearColorImage", [Param("XGL_CMD_BUFFER", "cmdBuffer"), Param("XGL_IMAGE", "image"), - Param("const float[4]", "color"), - Param("uint32_t", "rangeCount"), - Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges")]), - - Proto("void", "CmdClearColorImageRaw", - [Param("XGL_CMD_BUFFER", "cmdBuffer"), - Param("XGL_IMAGE", "image"), - Param("const uint32_t[4]", "color"), + Param("XGL_CLEAR_COLOR", "color"), Param("uint32_t", "rangeCount"), Param("const XGL_IMAGE_SUBRESOURCE_RANGE*", "pRanges")]), |
