hbina / hbina/VulkanTutorial

Improve performance of memory transfer

Open
#4 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Use a different queue family specifically for transfer operations. It will require you to make the following modifications to your program:

- Modify QueueFamilyIndices and findQueueFamilies to explicitly look for a queue family with the VK_QUEUE_TRANSFER bit, but not the VK_QUEUE_GRAPHICS_BIT.

- Modify createLogicalDevice to request a handle to the transfer queue

- Create a second command pool for command buffers that are submitted on the transfer queue family

- Change the sharingMode of resources to be VK_SHARING_MODE_CONCURRENT and specify both the graphics and transfer queue families

- Submit any transfer commands like vkCmdCopyBuffer (which we'll be using in this chapter) to the transfer queue instead of the graphics queue

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing QueueFamilyIndices and findQueueFamilies, then inspect createLogicalDevice, command-pool setup, resource sharing modes, and vkCmdCopyBuffer submission. Add a dedicated transfer queue and command pool, use concurrent sharing for the graphics and transfer families, and route transfer commands through the transfer queue.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.