From ec7dcb459dc11418b932d8c78b8ddd0d84fabd86 Mon Sep 17 00:00:00 2001 From: Jon Ashburn Date: Fri, 20 Feb 2015 10:30:32 -0700 Subject: [PATCH] glave: Fix bug in tracing CreateRenderPass with NULL attachments --- glave-generate.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/glave-generate.py b/glave-generate.py index d146e0c..2d3d9ed 100755 --- a/glave-generate.py +++ b/glave-generate.py @@ -470,8 +470,10 @@ class Subcommand(object): func_body.append(' customSize = colorCount * sizeof(XGL_COLOR_ATTACHMENT_BIND_INFO) + dsSize;') func_body.append(' CREATE_TRACE_PACKET(xglCreateFramebuffer, sizeof(XGL_FRAMEBUFFER_CREATE_INFO) + sizeof(XGL_FRAMEBUFFER) + customSize);') elif 'CreateRenderPass' == proto.name: - func_body.append(' uint32_t colorCount = (pCreateInfo != NULL && pCreateInfo->pColorLoadOps != NULL && pCreateInfo->pColorStoreOps != NULL && pCreateInfo->pColorLoadClearValues != NULL) ? pCreateInfo->colorAttachmentCount : 0;') - func_body.append(' customSize = colorCount * (sizeof(XGL_ATTACHMENT_LOAD_OP) + sizeof(XGL_ATTACHMENT_STORE_OP) + sizeof(XGL_CLEAR_COLOR));') + func_body.append(' uint32_t colorCount = (pCreateInfo != NULL && (pCreateInfo->pColorLoadOps != NULL || pCreateInfo->pColorStoreOps != NULL || pCreateInfo->pColorLoadClearValues != NULL)) ? pCreateInfo->colorAttachmentCount : 0;') + func_body.append(' customSize = colorCount * ((pCreateInfo->pColorLoadOps != NULL) ? sizeof(XGL_ATTACHMENT_LOAD_OP) : 0);') + func_body.append(' customSize += colorCount * ((pCreateInfo->pColorStoreOps != NULL) ? sizeof(XGL_ATTACHMENT_STORE_OP) : 0);') + func_body.append(' customSize += colorCount * ((pCreateInfo->pColorLoadClearValues != NULL) ? sizeof(XGL_CLEAR_COLOR) : 0);') func_body.append(' CREATE_TRACE_PACKET(xglCreateRenderPass, sizeof(XGL_RENDER_PASS_CREATE_INFO) + sizeof(XGL_RENDER_PASS) + customSize);') elif 'BeginCommandBuffer' == proto.name: func_body.append(' customSize = calculate_begin_cmdbuf_size(pBeginInfo->pNext);') -- 2.7.4