| 145 | /* ----- Blitting ----- */ |
| 146 | |
| 147 | void VKCommandBuffer::UpdateBuffer( |
| 148 | Buffer& dstBuffer, |
| 149 | std::uint64_t dstOffset, |
| 150 | const void* data, |
| 151 | std::uint16_t dataSize) |
| 152 | { |
| 153 | auto& dstBufferVK = LLGL_CAST(VKBuffer&, dstBuffer); |
| 154 | |
| 155 | auto size = static_cast<VkDeviceSize>(dataSize); |
| 156 | auto offset = static_cast<VkDeviceSize>(dstOffset); |
| 157 | |
| 158 | if (IsInsideRenderPass()) |
| 159 | { |
| 160 | PauseRenderPass(); |
| 161 | vkCmdUpdateBuffer(commandBuffer_, dstBufferVK.GetVkBuffer(), offset, size, data); |
| 162 | ResumeRenderPass(); |
| 163 | } |
| 164 | else |
| 165 | vkCmdUpdateBuffer(commandBuffer_, dstBufferVK.GetVkBuffer(), offset, size, data); |
| 166 | } |
| 167 | |
| 168 | void VKCommandBuffer::CopyBuffer( |
| 169 | Buffer& dstBuffer, |