@@ -202,24 +202,22 @@ VkResult Image::write(const LunaImageWriteInfo &writeInfo) const
202202 CommandBuffer &commandBuffer = device.commandPools ().graphics .commandBuffer (1 );
203203 CHECK_RESULT_RETURN (commandBuffer.ensureIsRecording (luna::device, true ));
204204
205- const BufferRegionIndex *stagingBufferRegionIndex = stagingBuffer;
206- if (stagingBufferRegionIndex == nullptr || stagingBufferRegionIndex->size () < writeInfo.bytes )
205+ if (stagingBuffer == nullptr || stagingBuffer->size () < writeInfo.bytes )
207206 {
208- if (stagingBufferRegionIndex != nullptr )
207+ if (stagingBuffer != nullptr )
209208 {
210- lunaDestroyBuffer (stagingBufferRegionIndex );
209+ lunaDestroyBuffer (stagingBuffer );
211210 }
212211 const LunaBufferCreationInfo bufferCreationInfo = {
213212 .size = writeInfo.bytes ,
214213 .usage = VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT ,
215214 };
216215 LunaBuffer stagingBufferHandle = stagingBuffer;
217216 CHECK_RESULT_RETURN (lunaCreateBuffer (&bufferCreationInfo, &stagingBufferHandle));
218- stagingBufferRegionIndex = stagingBuffer ;
217+ stagingBuffer = static_cast < const BufferRegionIndex *>(stagingBufferHandle) ;
219218 }
220219
221- stagingBufferRegionIndex->bufferRegion ()->copyToBuffer (static_cast <const uint8_t *>(writeInfo.pixels ),
222- writeInfo.bytes );
220+ stagingBuffer->bufferRegion ()->copyToBuffer (static_cast <const uint8_t *>(writeInfo.pixels ), writeInfo.bytes );
223221 const uint32_t mipmapLevels = writeInfo.mipmapLevels == 0 ? 1 : writeInfo.mipmapLevels ;
224222 const VkImageSubresourceRange subresourceRange = {
225223 .aspectMask = aspectMask_,
@@ -265,7 +263,7 @@ VkResult Image::write(const LunaImageWriteInfo &writeInfo) const
265263 .imageExtent = extent,
266264 };
267265 vkCmdCopyBufferToImage (commandBuffer,
268- *stagingBufferRegionIndex ->buffer (),
266+ *stagingBuffer ->buffer (),
269267 image_,
270268 VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL ,
271269 1 ,
0 commit comments