aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Ashburn <jon@lunarg.com>2014-12-10 10:24:56 -0700
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2014-12-11 16:07:34 -0700
commitd3bf5892f1fe46e7caeb35da52401d461e86e447 (patch)
tree92567a0c1d946ced48997292993e1cd628548c0e
parentd7ae15d39c62ce2116fba87440d3136fc5619ff8 (diff)
downloadusermoji-d3bf5892f1fe46e7caeb35da52401d461e86e447.tar.xz
glave: Fix trace code gen for xglEnumerateLayers
-rwxr-xr-xxgl-layer-generate.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/xgl-layer-generate.py b/xgl-layer-generate.py
index cb634f79..2db3cb99 100755
--- a/xgl-layer-generate.py
+++ b/xgl-layer-generate.py
@@ -825,7 +825,7 @@ class Subcommand(object):
func_body.append(' uint32_t i = 0;')
func_body.append(' for (i = 0; i < *pOutLayerCount; i++)')
func_body.append(' totStringSize += (pOutLayers[i] != NULL) ? strlen((const char*)pOutLayers[i]) + 1: 0;')
- func_body.append(' CREATE_TRACE_PACKET(xgl%s, totStringSize);' % (proto.name))
+ func_body.append(' CREATE_TRACE_PACKET(xgl%s, totStringSize + sizeof(XGL_SIZE));' % (proto.name))
elif proto.name in ['CreateShader', 'CreateGraphicsPipeline', 'CreateComputePipeline']:
func_body.append(' size_t customSize;')
if 'CreateShader' == proto.name:
@@ -852,6 +852,18 @@ class Subcommand(object):
func_body.append(' }')
func_body.append(' pPacket->result = result;')
func_body.append(' FINISH_TRACE_PACKET();')
+ elif 'EnumerateLayers' == proto.name: #custom code for EnumerateLayers case
+ func_body.append(' pPacket->gpu = gpu;')
+ func_body.append(' pPacket->maxLayerCount = maxLayerCount;')
+ func_body.append(' pPacket->maxStringSize = maxStringSize;')
+ func_body.append(' for (i = 0; i < *pOutLayerCount; i++) {')
+ func_body.append(' glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pOutLayers[i]), ((pOutLayers[i] != NULL) ? strlen((const char *)pOutLayers[i]) + 1 : 0), pOutLayers[i]);')
+ func_body.append(' glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pOutLayers[i]));')
+ func_body.append(' }')
+ func_body.append(' glv_add_buffer_to_trace_packet(pHeader, (void**)&(pPacket->pOutLayerCount), sizeof(XGL_SIZE), pOutLayerCount);')
+ func_body.append(' glv_finalize_buffer_address(pHeader, (void**)&(pPacket->pOutLayerCount));')
+ func_body.append(' pPacket->result = result;')
+ func_body.append(' FINISH_TRACE_PACKET();')
else:
# TODO : Clean this up. Too much custom code and branching.
for idx in buff_ptr_indices: