Changeset 58453c3 in opengl-game for vulkan-game.cpp


Ignore:
Timestamp:
May 20, 2021, 3:50:12 PM (3 years ago)
Author:
Dmitry Portnoy <dportnoy@…>
Branches:
feature/imgui-sdl
Children:
567fa88
Parents:
c163d81
git-author:
Dmitry Portnoy <dportnoy@…> (05/20/21 15:48:15)
git-committer:
Dmitry Portnoy <dportnoy@…> (05/20/21 15:50:12)
Message:

Remove the swapChainImages parameter from the GraphicsPipeline_Vulkan constructor and modify createDescriptorPool(), createDescriptorSets(), and updateDescriptorInfo() to accept a size paramter instead of accepting a vector of swap chain images and getting the size from that

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vulkan-game.cpp

    rc163d81 r58453c3  
    194194   modelPipeline.createDescriptorSetLayout();
    195195   modelPipeline.createPipeline("shaders/model-vert.spv", "shaders/model-frag.spv");
    196    modelPipeline.createDescriptorPool(swapChainImages);
    197    modelPipeline.createDescriptorSets(swapChainImages);
     196   modelPipeline.createDescriptorPool(swapChainImages.size());
     197   modelPipeline.createDescriptorSets(swapChainImages.size());
    198198
    199199   // START UNREVIEWED SECTION
     
    458458   shipPipeline.createDescriptorSetLayout();
    459459   shipPipeline.createPipeline("shaders/ship-vert.spv", "shaders/ship-frag.spv");
    460    shipPipeline.createDescriptorPool(swapChainImages);
    461    shipPipeline.createDescriptorSets(swapChainImages);
     460   shipPipeline.createDescriptorPool(swapChainImages.size());
     461   shipPipeline.createDescriptorSets(swapChainImages.size());
    462462
    463463   asteroidPipeline.addAttribute(VK_FORMAT_R32G32B32_SFLOAT, offset_of(&ModelVertex::pos));
     
    478478   asteroidPipeline.createDescriptorSetLayout();
    479479   asteroidPipeline.createPipeline("shaders/asteroid-vert.spv", "shaders/asteroid-frag.spv");
    480    asteroidPipeline.createDescriptorPool(swapChainImages);
    481    asteroidPipeline.createDescriptorSets(swapChainImages);
     480   asteroidPipeline.createDescriptorPool(swapChainImages.size());
     481   asteroidPipeline.createDescriptorSets(swapChainImages.size());
    482482
    483483   laserPipeline.addAttribute(VK_FORMAT_R32G32B32_SFLOAT, offset_of(&LaserVertex::pos));
     
    498498   laserPipeline.createDescriptorSetLayout();
    499499   laserPipeline.createPipeline("shaders/laser-vert.spv", "shaders/laser-frag.spv");
    500    laserPipeline.createDescriptorPool(swapChainImages);
    501    laserPipeline.createDescriptorSets(swapChainImages);
     500   laserPipeline.createDescriptorPool(swapChainImages.size());
     501   laserPipeline.createDescriptorSets(swapChainImages.size());
    502502
    503503   explosionPipeline.addAttribute(VK_FORMAT_R32G32B32_SFLOAT, offset_of(&ExplosionVertex::particleStartVelocity));
     
    516516   explosionPipeline.createDescriptorSetLayout();
    517517   explosionPipeline.createPipeline("shaders/explosion-vert.spv", "shaders/explosion-frag.spv");
    518    explosionPipeline.createDescriptorPool(swapChainImages);
    519    explosionPipeline.createDescriptorSets(swapChainImages);
     518   explosionPipeline.createDescriptorPool(swapChainImages.size());
     519   explosionPipeline.createDescriptorSets(swapChainImages.size());
    520520
    521521   // END UNREVIEWED SECTION
     
    619619   modelPipeline = GraphicsPipeline_Vulkan<ModelVertex>(
    620620      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass,
    621       { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 24, 24);
     621      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, 24, 24);
    622622
    623623   createBufferSet(objects_modelPipeline.capacity * sizeof(SSBO_ModelObject),
     
    628628   shipPipeline = GraphicsPipeline_Vulkan<ModelVertex>(
    629629      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass,
    630       { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 138, 138);
     630      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, 138, 138);
    631631
    632632   createBufferSet(objects_shipPipeline.capacity * sizeof(SSBO_ModelObject),
     
    637637   asteroidPipeline = GraphicsPipeline_Vulkan<ModelVertex>(
    638638      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass,
    639       { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 24, 36);
     639      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, 24, 36);
    640640
    641641   createBufferSet(objects_asteroidPipeline.capacity * sizeof(SSBO_Asteroid),
     
    646646   laserPipeline = GraphicsPipeline_Vulkan<LaserVertex>(
    647647      VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, physicalDevice, device, renderPass,
    648       { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, swapChainImages, 8, 18);
     648      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height }, 8, 18);
    649649
    650650   createBufferSet(objects_laserPipeline.capacity * sizeof(SSBO_Laser),
     
    656656      VK_PRIMITIVE_TOPOLOGY_POINT_LIST, physicalDevice, device, renderPass,
    657657      { 0, 0, (int)swapChainExtent.width, (int)swapChainExtent.height },
    658       swapChainImages, EXPLOSION_PARTICLE_COUNT, EXPLOSION_PARTICLE_COUNT);
     658      EXPLOSION_PARTICLE_COUNT, EXPLOSION_PARTICLE_COUNT);
    659659
    660660   createBufferSet(objects_explosionPipeline.capacity * sizeof(SSBO_Explosion),
     
    22262226   modelPipeline.updateRenderPass(renderPass);
    22272227   modelPipeline.createPipeline("shaders/model-vert.spv", "shaders/model-frag.spv");
    2228    modelPipeline.createDescriptorPool(swapChainImages);
    2229    modelPipeline.createDescriptorSets(swapChainImages);
     2228   modelPipeline.createDescriptorPool(swapChainImages.size());
     2229   modelPipeline.createDescriptorSets(swapChainImages.size());
    22302230
    22312231   createBufferSet(sizeof(UBO_VP_mats),
     
    22352235   shipPipeline.updateRenderPass(renderPass);
    22362236   shipPipeline.createPipeline("shaders/ship-vert.spv", "shaders/ship-frag.spv");
    2237    shipPipeline.createDescriptorPool(swapChainImages);
    2238    shipPipeline.createDescriptorSets(swapChainImages);
     2237   shipPipeline.createDescriptorPool(swapChainImages.size());
     2238   shipPipeline.createDescriptorSets(swapChainImages.size());
    22392239
    22402240   createBufferSet(sizeof(UBO_VP_mats),
     
    22442244   asteroidPipeline.updateRenderPass(renderPass);
    22452245   asteroidPipeline.createPipeline("shaders/asteroid-vert.spv", "shaders/asteroid-frag.spv");
    2246    asteroidPipeline.createDescriptorPool(swapChainImages);
    2247    asteroidPipeline.createDescriptorSets(swapChainImages);
     2246   asteroidPipeline.createDescriptorPool(swapChainImages.size());
     2247   asteroidPipeline.createDescriptorSets(swapChainImages.size());
    22482248
    22492249   createBufferSet(sizeof(UBO_VP_mats),
     
    22532253   laserPipeline.updateRenderPass(renderPass);
    22542254   laserPipeline.createPipeline("shaders/laser-vert.spv", "shaders/laser-frag.spv");
    2255    laserPipeline.createDescriptorPool(swapChainImages);
    2256    laserPipeline.createDescriptorSets(swapChainImages);
     2255   laserPipeline.createDescriptorPool(swapChainImages.size());
     2256   laserPipeline.createDescriptorSets(swapChainImages.size());
    22572257
    22582258   createBufferSet(sizeof(UBO_Explosion),
     
    22622262   explosionPipeline.updateRenderPass(renderPass);
    22632263   explosionPipeline.createPipeline("shaders/explosion-vert.spv", "shaders/explosion-frag.spv");
    2264    explosionPipeline.createDescriptorPool(swapChainImages);
    2265    explosionPipeline.createDescriptorSets(swapChainImages);
     2264   explosionPipeline.createDescriptorPool(swapChainImages.size());
     2265   explosionPipeline.createDescriptorSets(swapChainImages.size());
    22662266
    22672267   imageIndex = 0;
Note: See TracChangeset for help on using the changeset viewer.