aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCourtney Goeltzenleuchter <courtney@LunarG.com>2015-04-03 16:35:32 -0600
committerChia-I Wu <olv@lunarg.com>2015-04-16 17:33:25 +0800
commit374553cbc2d26d8a523cef7dd5b11150a09129d0 (patch)
tree8224bda78e841a6d280de342c9ee4b72f9f21a29
parent49ffd3f1ecf0d6e034ae6d5ebdc147563b7124e8 (diff)
downloadusermoji-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.c6
-rw-r--r--demos/tri.c5
-rw-r--r--icd/nulldrv/nulldrv.c12
-rw-r--r--include/xgl.h14
-rw-r--r--include/xglLayer.h1
-rw-r--r--layers/draw_state.c19
-rw-r--r--layers/draw_state.cpp19
-rw-r--r--layers/mem_tracker.cpp23
-rwxr-xr-xxgl-layer-generate.py35
-rw-r--r--xgl.py9
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)
diff --git a/xgl.py b/xgl.py
index c183fa6f..8623b874 100644
--- a/xgl.py
+++ b/xgl.py
@@ -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")]),