summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-06-25 17:51:18 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-06-25 17:51:18 -0400
commit6a4e6d14e99917039fc3c3fac3c550c4c4c2f04e (patch)
tree793b9618fb636626b97d13286c9722bb88f0c207 /src
parent9e791d26560b566bb21b5cd39d9042a41f29714c (diff)
pke: don't copy extra data to padded buffer
Diffstat (limited to 'src')
-rw-r--r--src/window.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/window.cpp b/src/window.cpp
index 9011a72..1b3a91c 100644
--- a/src/window.cpp
+++ b/src/window.cpp
@@ -2736,7 +2736,8 @@ void CreateGraphicsPipelines() {
// index
uint32_t offsetIndex = runningOffset;
- uint32_t sizeIndex = sizeof(uint16_t) * 36;
+ uint32_t sizeIndex_unpadded = sizeof(uint16_t) * 36;
+ uint32_t sizeIndex = sizeIndex_unpadded;
alignmentPadding = sizeIndex % combinedMemReqs.alignment;
alignmentPadding = alignmentPadding == 0 ? 0 : combinedMemReqs.alignment - alignmentPadding;
sizeIndex += alignmentPadding;
@@ -2770,7 +2771,10 @@ void CreateGraphicsPipelines() {
dstPtr = static_cast<char *>(tmpBufferDetails.deviceData) + offsetIndex;
srcPtr = reinterpret_cast<char *>(pkeIntrinsicsCube.index);
- memcpy(dstPtr, srcPtr, sizeIndex);
+ memcpy(dstPtr, srcPtr, sizeIndex_unpadded);
+ if (sizeIndex != sizeIndex_unpadded) {
+ memset(dstPtr+sizeIndex_unpadded, 0, sizeIndex-sizeIndex_unpadded);
+ }
VkCommandBufferBeginInfo vkCommandBufferBeginInfo;