Reverted some functions from PR#137 (replaced by different base functionality)

This commit is contained in:
saschawillems 2016-04-21 20:57:02 +02:00
parent 77bb8cf68b
commit 7098fc19a4
2 changed files with 0 additions and 105 deletions

View file

@ -283,97 +283,6 @@ VkPipelineShaderStageCreateInfo VulkanExampleBase::loadShader(std::string fileNa
return shaderStage; return shaderStage;
} }
VkBool32 VulkanExampleBase::createDeviceBuffer(
const VkBufferUsageFlags usage,
const VkDeviceSize size,
VkBuffer& buffer,
VkDeviceMemory& memory,
VkDescriptorBufferInfo& descriptor)
{
VkMemoryRequirements memReqs;
VkMemoryAllocateInfo memAlloc = vkTools::initializers::memoryAllocateInfo();
VkBufferCreateInfo bufferCreateInfo = vkTools::initializers::bufferCreateInfo(usage | VK_BUFFER_USAGE_TRANSFER_DST_BIT, size);
VkResult err = vkCreateBuffer(device, &bufferCreateInfo, nullptr, &buffer);
assert(!err);
vkGetBufferMemoryRequirements(device, buffer, &memReqs);
memAlloc.allocationSize = memReqs.size;
getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, &memAlloc.memoryTypeIndex);
err = vkAllocateMemory(device, &memAlloc, nullptr, &memory);
assert(!err);
err = vkBindBufferMemory(device, buffer, memory, 0);
assert(!err);
descriptor.offset = 0;
descriptor.buffer = buffer;
descriptor.range = size;
return VK_TRUE;
}
VkBool32 VulkanExampleBase::updateDeviceBuffer(
const VkDeviceSize size,
VkBuffer& deviceBuffer,
void* data)
{
//todo check that size is not larger than memory size
// create staging buffer and copy data to it
VkMemoryRequirements memReqs;
VkMemoryAllocateInfo memAlloc = vkTools::initializers::memoryAllocateInfo();
VkBufferCreateInfo bufferCreateInfo = vkTools::initializers::bufferCreateInfo(VK_BUFFER_USAGE_TRANSFER_SRC_BIT, size);
VkBuffer stagingBuffer;
VkDeviceMemory stagingMemory;
VkResult err = vkCreateBuffer(device, &bufferCreateInfo, nullptr, &stagingBuffer);
assert(!err);
vkGetBufferMemoryRequirements(device, stagingBuffer, &memReqs);
memAlloc.allocationSize = memReqs.size;
getMemoryType(memReqs.memoryTypeBits, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, &memAlloc.memoryTypeIndex);
err = vkAllocateMemory(device, &memAlloc, nullptr, &stagingMemory);
assert(!err);
if (data != nullptr)
{
void* mapped;
err = vkMapMemory(device, stagingMemory, 0, size, 0, &mapped);
assert(!err);
memcpy(mapped, data, size);
vkUnmapMemory(device, stagingMemory);
}
err = vkBindBufferMemory(device, stagingBuffer, stagingMemory, 0);
assert(!err);
// create cmdbuffer to copy staging buffer to device local buffer
createSetupCommandBuffer();
VkBufferCopy copyRegion = {};
copyRegion.size = size;
vkCmdCopyBuffer(
setupCmdBuffer,
stagingBuffer,
deviceBuffer,
1,
&copyRegion);
flushSetupCommandBuffer();
// free staging memory
vkDestroyBuffer(device, stagingBuffer, nullptr);
vkFreeMemory(device, stagingMemory, nullptr);
return VK_TRUE;
}
VkBool32 VulkanExampleBase::createBuffer(VkBufferUsageFlags usageFlags, VkMemoryPropertyFlags memoryPropertyFlags, VkDeviceSize size, void * data, VkBuffer * buffer, VkDeviceMemory * memory) VkBool32 VulkanExampleBase::createBuffer(VkBufferUsageFlags usageFlags, VkMemoryPropertyFlags memoryPropertyFlags, VkDeviceSize size, void * data, VkBuffer * buffer, VkDeviceMemory * memory)
{ {
VkMemoryRequirements memReqs; VkMemoryRequirements memReqs;

View file

@ -271,20 +271,6 @@ public:
// Load a SPIR-V shader // Load a SPIR-V shader
VkPipelineShaderStageCreateInfo loadShader(std::string fileName, VkShaderStageFlagBits stage); VkPipelineShaderStageCreateInfo loadShader(std::string fileName, VkShaderStageFlagBits stage);
// create device local buffer and use staging to access
VkBool32 createDeviceBuffer(
const VkBufferUsageFlags usage,
const VkDeviceSize size,
VkBuffer& buffer,
VkDeviceMemory& memory,
VkDescriptorBufferInfo& descriptor);
// update loacal buffer memory by creating a host visible staging buffer
VkBool32 updateDeviceBuffer(
const VkDeviceSize size,
VkBuffer& deviceBuffer,
void* data);
// Create a buffer, fill it with data (if != NULL) and bind buffer memory // Create a buffer, fill it with data (if != NULL) and bind buffer memory
VkBool32 createBuffer( VkBool32 createBuffer(
VkBufferUsageFlags usageFlags, VkBufferUsageFlags usageFlags,