Skip to content

Confusion at Chapters "Physical devices and queue families" and "Logical device and queues" #306

@LordKobra

Description

@LordKobra

Problem 1:

In "03 / 00 / 03 Physical devices and queue families" multiple ways are shown to select the right device, but it is often worded as if the current snippet is the right way to do it.
It starts with:

We’ll check if any of the physical devices meet the requirements that we’ll add to that function.

and adds simple code. Now i expect to use this code.

Then later

Because we’re just starting out, Vulkan 1.3 support is the only thing we need, and therefore we’ll search for that and the extensions that we actually are going to be demonstrating:

Now there's completely different code, not even reusing the previous code. In addition to this, the new code snippet is much larger but lacks any further explanation.

Problem 2

The way we find the right queue family constantly switches. Already in "Base device suitability checks" at the end, queue families are detected inline.

But then in the "Queue Families" sub-section this isn't mentioned at all and we do define an extra function. And this function returns the queue family index, no longer a bool, but this isn't even mentioned.

Then i looked at the "C++ code" to figure out what's right and there it is once-more inline, but in yet another fashion.

So then i think "Ok, inline it is!". But in "03 / 00 / 04 Logical device and queues" findQueueFamilies(m_physicalDevice) is called, so we actually need the function.
Also m_physicalDevice was never defined anywhere.

It feels like the code does not align with the text and sometimes even the text of one subsection does not align with another subsection.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions