בדיקת מצב העיבוד של Vulkan
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
כדי לבדוק את מצב העיבוד אחרי שליחת פקודה ספציפית, לוחצים על הפקודה בחלונית Commands. בחלונית State (מצב) אפשר לבדוק את מצב העיבוד באמצעות הפריטים הבאים.

התור האחרון שנקשר (התור שנקשר כרגע)
הצומת LastBoundQueue מכיל את המידע של התור שמשמש את vkQueueSubmit
, ששולח את הפקודה הרלוונטית. הערך VulkanHandle
ישמש לאיתור פרטי הציור של מצב העיבוד הנוכחי ב-LastDrawInfos
.

הערך VulkanHandle
מציג את הערך של VkQueue
האחרון שהיה בשימוש, שהוא למעשה התור שמוגדר כרגע לפקודה שנשלחה.
המידע על מצב העיבוד הנוכחי מאוחסן ב-LastDrawInfos
, והוא עובר אינדוקס לפי הערך VkQueue
.
פרטי הציור האחרון (מידע על מצב העיבוד הנוכחי)
הצומת LastDrawInfos מכיל את פרטי הציור האחרון של כל VkQueue
, והוא כולל את הפרטים הבאים:
- מידע על מאגר המסגרות
- הצגת פרטי הכרטיס
- קבוצות מתארים מאוגדות
- מאגרי אינדקסים וקודקודים מאוגדים
- צינור עיבוד גרפי
- פרמטרים של ציור
Bound Framebuffer

צומת Framebuffer: מציג את המידע של מאגר המסגרות שמוגדר כרגע.
הצומת הזה מתעדכן אחרי כל הרצה של vkCmdBeginRenderPass
באותו תור.
צומת Renderpass: מציג את המידע של שלב העיבוד ששימש ליצירת מאגר המסגרות. הערה: זה לא שלב העיבוד שמוגדר כרגע לציור.
צומת ImageAttachments: מפרט את כל קבצי התמונות המצורפים (VkImageViews
) שקשורים למאגר המסגרות. כל פריט ברשימה מציג את המידע של תצוגת התמונה.
צומת Image מציג את המידע של התמונה שמשויכת לתצוגת התמונה.
Bound renderpass

צומת Renderpass: מציג את המידע של ה-renderpass שמשמש כרגע לרינדור. הוא מתעדכן אחרי שכל VkCmdBeginRenderPass
מופעל באותו תור.
צומת AttachmentDescriptions: רשימה של כל VkAttachmentDescription
של renderpass הנוכחי בשימוש.
צומת SubpassDescriptions: מפרט את VkSubpassDescription
לכל שלב משנה.
צומת SubpassDependencies: מפרט את VkSubpassDependency
לכל שלב משנה.
קבוצות של תיאורים שקשורות לערך

צומת DescriptorSets: רשימה של כל ערכות התיאורים שמוגדרות כרגע. רשימת קבוצות המתארים המוגבלות משקפת את המצב אחרי הפריסה האחרונה של vkCmdBindDescriptorSets
באותו תור, ופרטי קבוצת המתארים המקורית יוחלפו או שיוספו פרטים חדשים בהתאם לפרמטרים של vkCmdBindDescriptorSets
האחרון שהופעל.
Bindings: node lists all the currently bound descriptor bindings in the
descriptor set.
בכל קשירת מתאר מפורטים גם המתארים הקשורים.
צומת Layout: מציג את המידע של VkDescriptorSetLayout
שמשמש להקצאת קבוצת המתארים.
צינור עיבוד נתונים גרפי שקשור לאפליקציה

GraphicsPipeline
node: מכיל את המידע על צינור הגרפיקה האחרון שנקשר. הצומת הזה מתעדכן אחרי שכל VkCmdBindPipeline
מופעל בתור הנוכחי.
Bound Buffers

בצומת BoundVertexBuffers מפורטות כל ה-vertex buffers שמוגדרים. לכל מאגר קודקודים מאוגד, מוצג המידע של מאגר הגיבוי. הרשימה מתעדכנת בהתאם אחרי שכל vkCmdBindVertexBuffers
מופעל באותו תור.
בצומת BoundIndexBuffer
מוצג מאגר האינדקס האחרון שנקשר, כולל סוג האינדקס והמידע על מאגר הגיבוי.
פרמטרים של פקודת ציור

הצומת CommandParameters: מכיל את הפרמטרים של vkCmdDraw
, vkCmdDrawIndexed
, vkCmdDrawIndirect
ו-vkCmdDrawIndirectIndexed
. לכל סוג של פקודת ציור יש צומת משנה תואם שמכיל את ערכי הפרמטרים. אי אפשר להשתמש בארבעת סוגי פקודות הציור האלה בו-זמנית, ולכן אפשר לאכלס רק אחד מארבעת צמתי המשנה בכל פעם. התוכן של CommandParameters מתעדכן אחרי שמופעלת אחת מארבע פקודות הציור באותו תור.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[null,null,["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# Check Vulkan render state\n\nTo check the render state after a specific submitted command, click the command\nin the [**Commands** pane](/agi/refdocs/commands-pane). The **State** pane lets\nyou examine the render state using the following items.\n\nLast bound queue (currently bound queue)\n----------------------------------------\n\nThe **LastBoundQueue** node contains the information of the queue used for the\n`vkQueueSubmit`, which submits the command in question. The `VulkanHandle` will\nbe used to find the drawing information of the current render state in\n`LastDrawInfos`.\n\n1. The `VulkanHandle` shows the value of the last used `VkQueue`, which is\n actually the currently bound queue for the submitted command in question.\n\n2. The information of the current render state is stored in `LastDrawInfos`,\n and indexed by the `VkQueue` value.\n\nLast draw infos (current render state info)\n-------------------------------------------\n\nThe **LastDrawInfos** node contains the information of the last drawing for each\n`VkQueue`, and includes the following information:\n\n- Framebuffer information\n- Render pass information\n- Bound descriptor sets\n- Bound vertex and index buffers\n- Graphics pipeline\n- Drawing parameters\n\n**Bound Framebuffer**\n\n- **Framebuffer** node: shows the info of the currently bound framebuffer.\n This node gets updated after each `vkCmdBeginRenderPass` executes on the\n same queue.\n\n- **Renderpass** node: shows the info of the render pass used to create the\n framebuffer. Note that this is not the render pass currently bound for\n drawing.\n\n- **ImageAttachments** node: lists all the image attachments (`VkImageViews`)\n bound to the framebuffer. Each item of the list shows the info of the image\n view.\n\n- **Image** node shows the info of the image bound to the image view.\n\n**Bound renderpass**\n\n- **Renderpass** node: shows the info of the renderpass currently used for rendering. It gets updated after each `VkCmdBeginRenderPass` executes on the same queue.\n\n- **AttachmentDescriptions** node: lists all the `VkAttachmentDescription` of the current renderpass in use.\n\n- **SubpassDescriptions** node: lists the `VkSubpassDescription` for each subpass.\n\n- **SubpassDependencies** node: lists the `VkSubpassDependency` for each subpass.\n\n**Bound descriptor sets**\n\n- **DescriptorSets** node: lists all the currently bound descriptor sets. The list of bounded descriptor sets reflect the state after the last `vkCmdBindDescriptorSets` being rolled out on the same queue, and the original descriptor set info will be overwritten or new info will be added according to the parameters of the last executed `vkCmdBindDescriptorSets`.\n\n- **Bindings**: node lists all the currently bound descriptor bindings in the\n descriptor set.\n\n Each descriptor binding also lists its bound descriptors.\n- **Layout** node: shows the info of the `VkDescriptorSetLayout` used to allocate the descriptor set.\n\n**Bound graphics pipeline**\n\n`GraphicsPipeline` node: contains the info about the last bound graphics pipeline. This node gets updated after each `VkCmdBindPipeline` executes on the current queue.\n\n**Bound Buffers**\n\n- **BoundVertexBuffers** node lists all the bound vertex buffers. For each bound vertex buffer, it shows the info of the backing buffer. The list gets updated accordingly after each `vkCmdBindVertexBuffers` executes on the same queue.\n\n- `BoundIndexBuffer` node shows the last bound index buffer, including the index type and the info of the backing buffer.\n\n**Draw Command Parameters**\n\n**CommandParameters** node: contains the parameters to `vkCmdDraw`, `vkCmdDrawIndexed`, `vkCmdDrawIndirect` and `vkCmdDrawIndirectIndexed`. For each type of drawing command, there is a corresponding sub-node to contains the parameter values. As these four types of drawining commands cannot be used at the same time, only one of the four sub-nodes can be populated at a time. The content of **CommandParameters** gets updated after any one of the four drawining commands being executed on the same queue."]]