Changeset b8072d3 in opengl-game for sdl-game.cpp


Ignore:
Timestamp:
May 1, 2021, 6:10:37 PM (3 years ago)
Author:
Dmitry Portnoy <dportnoy@…>
Branches:
feature/imgui-sdl
Children:
756162f
Parents:
e8445f0
git-author:
Dmitry Portnoy <dportnoy@…> (04/22/21 02:28:49)
git-committer:
Dmitry Portnoy <dportnoy@…> (05/01/21 18:10:37)
Message:

Add a VkMemoryPropertyFlags parameter to SDLGame::createBufferSet
instead of hard-coding that value

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sdl-game.cpp

    re8445f0 rb8072d3  
    7878
    7979void VulkanGame::run(int width, int height, unsigned char guiFlags) {
     80   cout << "Vulkan Game" << endl;
     81
    8082   cout << "DEBUGGING IS " << (ENABLE_VALIDATION_LAYERS ? "ON" : "OFF") << endl;
    81 
    82    cout << "Vulkan Game" << endl;
    8383
    8484   if (initUI(width, height, guiFlags) == RTWO_ERROR) {
     
    103103   modelPipeline.addAttribute(VK_FORMAT_R32_UINT, offset_of(&ModelVertex::objIndex));
    104104
    105    createBufferSet(sizeof(UBO_VP_mats), VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
    106       uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, uniformBufferInfoList_modelPipeline);
     105   createBufferSet(uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, sizeof(UBO_VP_mats),
     106      VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
     107      uniformBufferInfoList_modelPipeline);
    107108
    108109   modelPipeline.addDescriptorInfo(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
     
    113114
    114115   SceneObject<ModelVertex, SSBO_ModelObject>* texturedSquare = nullptr;
     116
     117   // TODO: Ideally, avoid having to make the squares as modified upon creation
    115118
    116119   texturedSquare = &addObject(modelObjects, modelPipeline,
     
    10801083}
    10811084
    1082 void VulkanGame::createBufferSet(VkDeviceSize bufferSize, VkBufferUsageFlags flags,
    1083                                  vector<VkBuffer>& buffers, vector<VkDeviceMemory>& buffersMemory,
     1085void VulkanGame::createBufferSet(vector<VkBuffer>& buffers, vector<VkDeviceMemory>& buffersMemory,
     1086                                 VkDeviceSize bufferSize, VkBufferUsageFlags flags, VkMemoryPropertyFlags properties,
    10841087                                 vector<VkDescriptorBufferInfo>& bufferInfoList) {
    10851088   buffers.resize(swapChainImageCount);
     
    10881091
    10891092   for (size_t i = 0; i < swapChainImageCount; i++) {
    1090       VulkanUtils::createBuffer(device, physicalDevice, bufferSize, flags,
    1091          VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
    1092          buffers[i], buffersMemory[i]);
     1093      VulkanUtils::createBuffer(device, physicalDevice, bufferSize, flags, properties, buffers[i], buffersMemory[i]);
    10931094
    10941095      bufferInfoList[i].buffer = buffers[i];
     
    12291230   // instead of recreated every time
    12301231
    1231    createBufferSet(sizeof(UBO_VP_mats), VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT,
    1232       uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, uniformBufferInfoList_modelPipeline);
     1232   createBufferSet(uniformBuffers_modelPipeline, uniformBuffersMemory_modelPipeline, sizeof(UBO_VP_mats),
     1233      VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT,
     1234      uniformBufferInfoList_modelPipeline);
    12331235
    12341236   modelPipeline.updateRenderPass(renderPass);
Note: See TracChangeset for help on using the changeset viewer.