diff options
| author | Frederico Linhares <fred@linhares.blue> | 2024-05-08 17:56:29 -0300 | 
|---|---|---|
| committer | Frederico Linhares <fred@linhares.blue> | 2024-05-08 17:56:29 -0300 | 
| commit | 43821b0cffc5aa419c0218992f06f8962ae54a13 (patch) | |
| tree | 97bdbbf710a78e6dcb181d92dd83e98d8b329c6d /src/vk/destination_buffer.cpp | |
| parent | 70e156d47346ae3198c623e0af75e5703f894db3 (diff) | |
refa Rename graphical engine to BluCat
Diffstat (limited to 'src/vk/destination_buffer.cpp')
| -rw-r--r-- | src/vk/destination_buffer.cpp | 109 | 
1 files changed, 0 insertions, 109 deletions
| diff --git a/src/vk/destination_buffer.cpp b/src/vk/destination_buffer.cpp deleted file mode 100644 index 5c55fd2..0000000 --- a/src/vk/destination_buffer.cpp +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright 2022 Frederico de Oliveira Linhares - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - *     http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "destination_buffer.hpp" - -#include "command_pool.hpp" - -namespace VK -{ - -DestinationBuffer::DestinationBuffer( -  QueueFamily *queue_family, SourceBuffer *source_buffer, -  VkBufferUsageFlags buffer_usage) -{ -  this->device = queue_family->device; -  this->device_size = source_buffer->device_size; -  this->buffer_usage = VK_BUFFER_USAGE_TRANSFER_DST_BIT | buffer_usage; -  this->memory_properties = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT; -  this->queue_family = queue_family; -  this->source_buffer = source_buffer; - -  BaseBuffer::loader.execute(dynamic_cast<BaseBuffer*>(this)); - -  this->copy_data(); -} - -DestinationBuffer::DestinationBuffer( -  DestinationBuffer &&that) -{ -  this->buffer = that.buffer; -  this->device_memory = that.device_memory; -  this->device_size = that.device_size; -  this->buffer_usage = that.buffer_usage; -  this->memory_properties = that.memory_properties; - -  that.buffer = VK_NULL_HANDLE; -  that.device_memory = VK_NULL_HANDLE; -} - -DestinationBuffer& -DestinationBuffer::operator=(DestinationBuffer &&that) -{ -  this->buffer = that.buffer; -  this->device_memory = that.device_memory; -  this->device_size = that.device_size; -  this->buffer_usage = that.buffer_usage; -  this->memory_properties = that.memory_properties; - -  that.buffer = VK_NULL_HANDLE; -  that.device_memory = VK_NULL_HANDLE; - -  return *this; -} - -DestinationBuffer::~DestinationBuffer() -{ -  BaseBuffer::loader.revert(dynamic_cast<BaseBuffer*>(this)); -} - -void -DestinationBuffer::copy_data() -{ -  CommandPool command_pool(this->queue_family, 1); -  Queue transfer_queue{this->queue_family->get_queue()}; -  this->device_size = source_buffer->device_size; - -  this->vk_command_buffer = command_pool.command_buffers[0]; - -  VkCommandBufferBeginInfo begin_info = {}; -  begin_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; -  begin_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT; - -  VkBufferCopy copy_region = {}; -  copy_region.srcOffset = 0; -  copy_region.dstOffset = 0; -  copy_region.size = this->device_size; - -  vkBeginCommandBuffer(this->vk_command_buffer, &begin_info); - -  vkCmdCopyBuffer( -    this->vk_command_buffer, this->source_buffer->buffer, this->buffer, 1, -    ©_region); - -  vkEndCommandBuffer(this->vk_command_buffer); - -  VkSubmitInfo submit_info = {}; -  submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; -  submit_info.commandBufferCount = 1; -  submit_info.pCommandBuffers = &this->vk_command_buffer; - -  vkQueueSubmit(transfer_queue.queue, 1, &submit_info, VK_NULL_HANDLE); - -  vkQueueWaitIdle(transfer_queue.queue); -} - -} | 
