Changeset 67527a5 in opengl-game for sdl-game.cpp


Ignore:
Timestamp:
Jun 21, 2021, 4:12:08 PM (3 years ago)
Author:
Dmitry Portnoy <dportnoy@…>
Branches:
feature/imgui-sdl
Children:
27e580e
Parents:
b01b50c
git-author:
Dmitry Portnoy <dportnoy@…> (06/21/21 15:13:03)
git-committer:
Dmitry Portnoy <dportnoy@…> (06/21/21 16:12:08)
Message:

Switch all per-object buffers to be dynamic uniform buffers instead of shader storage buffers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sdl-game.cpp

    rb01b50c r67527a5  
    9696                                                      deviceProperties.limits.minUniformBufferOffsetAlignment);
    9797
    98    objects_modelPipeline = VulkanBuffer<SSBO_ModelObject>(10, deviceProperties.limits.maxStorageBufferRange,
    99                                                           deviceProperties.limits.minStorageBufferOffsetAlignment);
     98   objects_modelPipeline = VulkanBuffer<SSBO_ModelObject>(10, deviceProperties.limits.maxUniformBufferRange,
     99                                                          deviceProperties.limits.minUniformBufferOffsetAlignment);
    100100
    101101   initImGuiOverlay();
     
    123123   createBufferSet(objects_modelPipeline.memorySize(),
    124124                   VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT
    125                    | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
     125                   | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
    126126                   VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
    127127                   objectBuffers_modelPipeline);
     
    131131   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
    132132      VK_SHADER_STAGE_VERTEX_BIT, &uniformBuffers_modelPipeline.infoSet);
    133    modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
     133   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC,
    134134      VK_SHADER_STAGE_VERTEX_BIT, &objectBuffers_modelPipeline.infoSet);
    135135   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
     
    482482   }
    483483
    484    VulkanUtils::copyDataToMappedMemory(device, uniforms_modelPipeline.data(), uniforms_modelPipeline.mapped(imageIndex),
     484   VulkanUtils::copyDataToMappedMemory(device, uniforms_modelPipeline.data(),
     485                                       uniforms_modelPipeline.mapped(imageIndex),
    485486                                       uniformBuffers_modelPipeline.memory[imageIndex],
    486487                                       uniforms_modelPipeline.memorySize(), true);
    487488
    488    VulkanUtils::copyDataToMappedMemory(device, objects_modelPipeline.data(), objects_modelPipeline.mapped(imageIndex),
     489   VulkanUtils::copyDataToMappedMemory(device, objects_modelPipeline.data(),
     490                                       objects_modelPipeline.mapped(imageIndex),
    489491                                       objectBuffers_modelPipeline.memory[imageIndex],
    490492                                       objects_modelPipeline.memorySize(), true);
     
    12131215   // TODO: Find a more elegant, per-screen solution for this
    12141216   if (currentRenderScreenFn == &VulkanGame::renderGameScreen) {
    1215       modelPipeline.createRenderCommands(commandBuffers[imageIndex], imageIndex, {});
     1217      modelPipeline.createRenderCommands(commandBuffers[imageIndex], imageIndex, { 0 });
    12161218
    12171219
     
    13011303   createBufferSet(objects_modelPipeline.memorySize(),
    13021304                   VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT
    1303                    | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT,
     1305                   | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
    13041306                   VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT,
    13051307                   objectBuffers_modelPipeline);
Note: See TracChangeset for help on using the changeset viewer.