| 73 | // e.g. to unwrap some members or patch flags, etc. |
| 74 | template <typename VkStruct> |
| 75 | static void AppendModifiedChainedStruct(byte *&tempMem, VkStruct *outputStruct, |
| 76 | VkBaseInStructure *&nextChainTail) |
| 77 | { |
| 78 | tempMem = (byte *)(outputStruct + 1); |
| 79 | |
| 80 | // default to NULL. It will be overwritten in the next step if there is a next object |
| 81 | outputStruct->pNext = NULL; |
| 82 | |
| 83 | // append this onto the chain |
| 84 | nextChainTail->pNext = (const VkBaseInStructure *)outputStruct; |
| 85 | nextChainTail = (VkBaseInStructure *)outputStruct; |
| 86 | } |
| 87 | |
| 88 | // define structs that just need to be copied with no unwrapping at all, or only unwrapping some |
| 89 | // members - easily shared between GetNextPatchSize and UnwrapNextChain |