Changeset 9d21aac in opengl-game for sdl-game.cpp


Ignore:
Timestamp:
May 6, 2021, 3:24:42 AM (3 years ago)
Author:
Dmitry Portnoy <dportnoy@…>
Branches:
feature/imgui-sdl
Children:
996dd3e
Parents:
756162f
Message:

Remove the SSBOType template parameter from GraphicsPipeline_Vulkan

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sdl-game.cpp

    r756162f r9d21aac  
    103103   modelPipeline.addAttribute(VK_FORMAT_R32_UINT, offset_of(&ModelVertex::objIndex));
    104104
    105    createBufferSet(uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, sizeof(UBO_VP_mats),
     105   createBufferSet(sizeof(UBO_VP_mats),
    106106      VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
    107       uniformBufferInfoList_modelPipeline);
     107      uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, uniformBufferInfoList_modelPipeline);
    108108
    109109   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
    110110      VK_SHADER_STAGE_VERTEX_BIT, &uniformBufferInfoList_modelPipeline);
    111    modelPipeline.addStorageDescriptor(VK_SHADER_STAGE_VERTEX_BIT);
     111   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
     112      VK_SHADER_STAGE_VERTEX_BIT, &modelPipeline.storageBufferSet.infoSet);
    112113   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
    113114      VK_SHADER_STAGE_FRAGMENT_BIT, &floorTextureImageDescriptor);
     
    256257
    257258void VulkanGame::initGraphicsPipelines() {
    258    modelPipeline = GraphicsPipeline_Vulkan<ModelVertex, SSBO_ModelObject>(
     259   modelPipeline = GraphicsPipeline_Vulkan<ModelVertex>(
    259260      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass,
    260261      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 16, 24, 10);
     262
     263   createBufferSet(modelPipeline.objectCapacity * sizeof(SSBO_ModelObject),
     264      VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
     265      VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
     266      modelPipeline.storageBufferSet.buffers, modelPipeline.storageBufferSet.memory,
     267      modelPipeline.storageBufferSet.infoSet);
    261268}
    262269
     
    468475   modelPipeline.cleanupBuffers();
    469476
     477   for (size_t i = 0; i < modelPipeline.storageBufferSet.buffers.size(); i++) {
     478      vkDestroyBuffer(device, modelPipeline.storageBufferSet.buffers[i], nullptr);
     479      vkFreeMemory(device, modelPipeline.storageBufferSet.memory[i], nullptr);
     480   }
     481
    470482   // END UNREVIEWED SECTION
    471483
     
    10831095}
    10841096
    1085 void VulkanGame::createBufferSet(vector<VkBuffer>& buffers, vector<VkDeviceMemory>& buffersMemory,
    1086                                  VkDeviceSize bufferSize, VkBufferUsageFlags flags, VkMemoryPropertyFlags properties,
     1097void VulkanGame::createBufferSet(VkDeviceSize bufferSize, VkBufferUsageFlags flags, VkMemoryPropertyFlags properties,
     1098                                 vector<VkBuffer>& buffers, vector<VkDeviceMemory>& buffersMemory,
    10871099                                 vector<VkDescriptorBufferInfo>& bufferInfoList) {
    10881100   buffers.resize(swapChainImageCount);
     
    12301242   // instead of recreated every time
    12311243
    1232    createBufferSet(uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, sizeof(UBO_VP_mats),
     1244   createBufferSet(sizeof(UBO_VP_mats),
    12331245      VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
    1234       uniformBufferInfoList_modelPipeline);
     1246      uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, uniformBufferInfoList_modelPipeline);
    12351247
    12361248   modelPipeline.updateRenderPass(renderPass);
Note: See TracChangeset for help on using the changeset viewer.