Vulkan Usage Flashcards

(20 cards)

1
Q

What is a VkInstance?

A

The Vulkan context, used to access drivers

It serves as the entry point for all Vulkan functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does VkPhysicalDevice represent?

A

A GPU. Used to query physical GPU details, like features, capabilities, memory size, etc.

It provides information about the available physical devices on the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the purpose of VkDevice?

A

The ‘logical’ GPU context that you actually execute things on

It is created from a VkPhysicalDevice.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define VkBuffer.

A

A chunk of GPU visible memory

It is used for storing vertex data and other resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is a VkImage?

A

A texture you can write to and read from

It is used for storing image data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does VkPipeline hold?

A

Holds the state of the GPU needed to draw, including:
* shaders
* rasterization options
* depth settings

It is essential for rendering operations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the role of VkRenderPass?

A

Holds information about the images you are rendering into

All drawing commands must be executed inside a render pass.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does VkFrameBuffer do?

A

Holds the target images for a render pass

It is used in legacy vkguide.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a VkCommandBuffer?

A

Encodes GPU commands

All execution on the GPU must be encoded in a VkCommandBuffer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the function of a VkQueue?

A

Execution ‘port’ for commands

Different queues may allow different types of commands.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does a VkDescriptorSet hold?

A

Holds the binding information that connects shader inputs to data such as VkBuffer resources and VkImage textures

It acts as a set of GPU-side pointers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the purpose of VkSwapchainKHR?

A

Holds the images for the screen

It allows rendering into a visible window.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the role of a VkSemaphore?

A

Synchronizes GPU to GPU execution of commands

It is used for syncing multiple command buffer submissions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does a VkFence do?

A

Synchronizes GPU to CPU execution of commands

It indicates if a command buffer has finished execution on the GPU.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the first step in the high level Vulkan application flow?

A

Engine initialization

This involves creating a VkInstance and querying available VkPhysicalDevice handles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is involved in asset initialization?

A

Initializing resources needed for rendering, including:
* loading materials
* creating VkPipeline objects
* uploading vertex data into VkBuffer
* uploading textures into VkImage

This step prepares the assets for rendering.

17
Q

What is the first action in the render loop?

A

Ask the VkSwapchainKHR for an image to render to

This initiates the rendering process.

18
Q

What must you do after allocating a VkCommandBuffer?

A

Start the command buffer

This allows you to write commands into it.

19
Q

What happens after you end the VkRenderPass?

A

If there is nothing more to render, you end the VkCommandBuffer

This finalizes the drawing commands.

20
Q

What is the purpose of presenting the image rendered to the screen?

A

To display the result of the rendering

A semaphore is used to ensure rendering is finished before presentation.