glave: remap sampler object in xglCreateDescriptorSetLayout()
authorJon Ashburn <jon@lunarg.com>
Tue, 10 Feb 2015 21:32:23 +0000 (14:32 -0700)
committerJon Ashburn <jon@lunarg.com>
Wed, 11 Feb 2015 22:30:18 +0000 (15:30 -0700)
glave-generate.py

index a80c05c..3483cf1 100755 (executable)
@@ -2785,14 +2785,22 @@ class Subcommand(object):
 
     def _gen_replay_create_descriptor_set_layout(self):
         cdsl_body = []
-        cdsl_body.append('            XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO createInfo;')
-        cdsl_body.append('            memcpy(&createInfo, pPacket->pSetLayoutInfoList, sizeof(XGL_DESCRIPTOR_SET_LAYOUT_CREATE_INFO));')
+        cdsl_body.append('            XGL_SAMPLER saveSampler;')
+        cdsl_body.append('            if (pPacket->pSetLayoutInfoList != NULL) {')
+        cdsl_body.append('                XGL_SAMPLER *pSampler = (XGL_SAMPLER *) &pPacket->pSetLayoutInfoList->immutableSampler;')
+        cdsl_body.append('                saveSampler = pPacket->pSetLayoutInfoList->immutableSampler;')
+        cdsl_body.append('                *pSampler = remap(saveSampler);')
+        cdsl_body.append('            }')
         cdsl_body.append('            XGL_DESCRIPTOR_SET_LAYOUT setLayout;')
-        cdsl_body.append('            replayResult = m_xglFuncs.real_xglCreateDescriptorSetLayout(remap(pPacket->device), pPacket->stageFlags, pPacket->pSetBindPoints, remap(pPacket->priorSetLayout), &createInfo, &setLayout);')
+        cdsl_body.append('            replayResult = m_xglFuncs.real_xglCreateDescriptorSetLayout(remap(pPacket->device), pPacket->stageFlags, pPacket->pSetBindPoints, remap(pPacket->priorSetLayout), pPacket->pSetLayoutInfoList, &setLayout);')
         cdsl_body.append('            if (replayResult == XGL_SUCCESS)')
         cdsl_body.append('            {')
         cdsl_body.append('                add_to_map(pPacket->pSetLayout, &setLayout);')
         cdsl_body.append('            }')
+        cdsl_body.append('            if (pPacket->pSetLayoutInfoList != NULL) {')
+        cdsl_body.append('                XGL_SAMPLER *pSampler = (XGL_SAMPLER *) &pPacket->pSetLayoutInfoList->immutableSampler;')
+        cdsl_body.append('                *pSampler = saveSampler;')
+        cdsl_body.append('            }')
         return "\n".join(cdsl_body)
 
     def _gen_replay_create_graphics_pipeline(self):