MCPcopy Create free account
hub / github.com/a2flo/floor / copy

Method copy

compute/vulkan/vulkan_buffer.cpp:273–290  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

271}
272
273void vulkan_buffer::copy(const compute_queue& cqueue, const compute_buffer& src,
274 const size_t size_, const size_t src_offset, const size_t dst_offset) {
275 if(buffer == nullptr) return;
276
277 const size_t src_size = src.get_size();
278 const size_t copy_size = (size_ == 0 ? std::min(src_size, size) : size_);
279 if(!copy_check(size, src_size, copy_size, dst_offset, src_offset)) return;
280
281 const auto& vk_queue = (const vulkan_queue&)cqueue;
282 VK_CMD_BLOCK_RET(vk_queue, "buffer zero", ({
283 const VkBufferCopy region {
284 .srcOffset = src_offset,
285 .dstOffset = dst_offset,
286 .size = copy_size,
287 };
288 vkCmdCopyBuffer(block_cmd_buffer.cmd_buffer, ((const vulkan_buffer&)src).buffer, buffer, 1, &region);
289 }), , true /* always blocking */);
290}
291
292bool vulkan_buffer::fill(const compute_queue& cqueue,
293 const void* pattern, const size_t& pattern_size,

Callers

nothing calls this directly

Calls 1

minFunction · 0.50

Tested by

no test coverage detected