Confusion at Chapters "Physical devices and queue families" and "Logical device and queues"
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- cpp
- Ambito
- documentation
Direzione di ricerca
Confronta i capitoli «Dispositivi fisici e famiglie di code», «Dispositivo logico e code» e «Superficie della finestra», comprese le relative sezioni «Codice C++». Traccia il modo in cui vengono introdotte e riutilizzate l’idoneità del dispositivo e la selezione delle famiglie di code, quindi allinea la prosa e gli snippet in modo che l’approccio previsto, i valori restituiti, i controlli della superficie e la creazione delle code siano coerenti tra i capitoli.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
Edit: The queue problem continues in "03 / 01 / 00 Window surface". In this chapter, the inline code for queue selection contains multiple issues:
- It doesn't match with the "c++ code" link at the bottom.
- It doesn't use the
findQueueFamiliesfunction. However already at physical device selection we need to query support for surfaces to choose the right device. So the code should go into findfindQueueFamilies(). The function should not throw an error though, because we search for the right device. Only the return value should indicate whether something was found and it only needs to be recorded during physical device selection. When we create the logical device, we already know the queues are valid. - It first checks for a graphics index, then if the graphics index also supports present, then for an index that supports both and then for a separate present index. There's a lot of redundancy, just write a single for-loop.
- DeviceQueueCreateInfo does only link the graphicsIndex, even if a separate presentIndex exists.
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.
- Lingua principale
- C++
- Stelle
- 424
- Fork
- 127
- Merge medio
- 2g 22h
- PR unite (30g)
- 7
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di KhronosGroup/Vulkan-Tutorial
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
KhronosGroup/Vulkan-Tutorial#519 · 1 assegnatario ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
KhronosGroup/Vulkan-Tutorial#511 · 1 assegnatario ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
KhronosGroup/Vulkan-Tutorial#508 · 1 assegnatario ·
-
Non-C/C++ Vulkan development Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
KhronosGroup/Vulkan-Tutorial#499 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
KhronosGroup/Vulkan-Tutorial#498 ·
Tutte le issue di KhronosGroup/Vulkan-Tutorial
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
games-on-whales/wolf#509 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
bug-unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100