diff options
| author | Jon Ashburn <jon@lunarg.com> | 2014-12-10 10:24:56 -0700 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2014-12-11 16:07:34 -0700 |
| commit | d3bf5892f1fe46e7caeb35da52401d461e86e447 (patch) | |
| tree | 92567a0c1d946ced48997292993e1cd628548c0e | |
| parent | d7ae15d39c62ce2116fba87440d3136fc5619ff8 (diff) | |
| download | usermoji-d3bf5892f1fe46e7caeb35da52401d461e86e447.tar.xz | |
glave: Fix trace code gen for xglEnumerateLayers
| -rwxr-xr-x | xgl-layer-generate.py | 14 |
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: |
