xgl: combine xglCmdClearColor* into one function
authorCourtney Goeltzenleuchter <courtney@LunarG.com>
Fri, 3 Apr 2015 22:35:32 +0000 (16:35 -0600)
committerChia-I Wu <olv@lunarg.com>
Thu, 16 Apr 2015 09:33:25 +0000 (17:33 +0800)
combined the two xglCmdClearColorImage* functions into one,
with the XGL_CLEAR_COLOR struct

bug # 13172
alpha header: r29626

demos/cube.c
demos/tri.c
icd/nulldrv/nulldrv.c
include/xgl.h
include/xglLayer.h
layers/draw_state.c
layers/draw_state.cpp
layers/mem_tracker.cpp
xgl-layer-generate.py
xgl.py

index 601d1de..6f2d24c 100644 (file)
@@ -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;
index d42719f..d3a0377 100644 (file)
@@ -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 = {
index dd5061e..4887d3b 100644 (file)
@@ -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)
 {
index 4cea9e0..94cac94 100644 (file)
@@ -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);
 
index d6a7fbb..05fa5ec 100644 (file)
@@ -122,7 +122,6 @@ typedef struct _XGL_LAYER_DISPATCH_TABLE
     xglCmdUpdateBufferType CmdUpdateBuffer;
     xglCmdFillBufferType CmdFillBuffer;
     xglCmdClearColorImageType CmdClearColorImage;
-    xglCmdClearColorImageRawType CmdClearColorImageRaw;
     xglCmdClearDepthStencilType CmdClearDepthStencil;
     xglCmdResolveImageType CmdResolveImage;
     xglCmdSetEventType CmdSetEvent;
index b79a015..96f15a7 100644 (file)
@@ -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"))
index 97e31fe..415634b 100644 (file)
@@ -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"))
index 9b75d50..3c2dec0 100644 (file)
@@ -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"))
index 01aafb6..a21b004 100755 (executable)
@@ -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 c183fa6..8623b87 100644 (file)
--- 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")]),