[{"data":1,"prerenderedAt":502},["ShallowReactive",2],{"CV1jmXcIbC":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":501,"_id":4},"vkGetDeferredOperationMaxConcurrencyKHR","Query the maximum concurrency on a deferred operation","VK_KHR_deferred_host_operations","protos",[],{"type":10,"children":11,"toc":499},"root",[12,20,236,268,294,313,329,368,396,413,493],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To query the number of additional threads that can usefully be joined to a\ndeferred operation, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,100],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","uint32_t vkGetDeferredOperationMaxConcurrencyKHR(\n VkDevice device,\n VkDeferredOperationKHR operation);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,61,81],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,55],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[47],{"type":18,"value":48},"uint32_t",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":54}," vkGetDeferredOperationMaxConcurrencyKHR",{"type":13,"tag":38,"props":56,"children":58},{"style":57},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[59],{"type":18,"value":60},"(\n",{"type":13,"tag":38,"props":62,"children":64},{"class":40,"line":63},2,[65,70,76],{"type":13,"tag":38,"props":66,"children":67},{"style":57},[68],{"type":18,"value":69}," VkDevice ",{"type":13,"tag":38,"props":71,"children":73},{"style":72},"--shiki-default:#953800;--shiki-dark:#FFA657",[74],{"type":18,"value":75},"device",{"type":13,"tag":38,"props":77,"children":78},{"style":57},[79],{"type":18,"value":80},",\n",{"type":13,"tag":38,"props":82,"children":84},{"class":40,"line":83},3,[85,90,95],{"type":13,"tag":38,"props":86,"children":87},{"style":57},[88],{"type":18,"value":89}," VkDeferredOperationKHR ",{"type":13,"tag":38,"props":91,"children":92},{"style":72},[93],{"type":18,"value":94},"operation",{"type":13,"tag":38,"props":96,"children":97},{"style":57},[98],{"type":18,"value":99},");\n",{"type":13,"tag":25,"props":101,"children":106},{"className":102,"code":103,"filename":104,"language":105,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_deferred_operation_max_concurrency_khr(\n device: crate :: vk :: vk::Device,\n operation: vk::DeferredOperationKHR,\n) -> u32;\n","Rust","rs",[107],{"type":13,"tag":34,"props":108,"children":109},{"__ignoreMap":31},[110,132,183,212],{"type":13,"tag":38,"props":111,"children":112},{"class":40,"line":41},[113,118,123,128],{"type":13,"tag":38,"props":114,"children":115},{"style":45},[116],{"type":18,"value":117},"pub",{"type":13,"tag":38,"props":119,"children":120},{"style":45},[121],{"type":18,"value":122}," fn",{"type":13,"tag":38,"props":124,"children":125},{"style":51},[126],{"type":18,"value":127}," get_deferred_operation_max_concurrency_khr",{"type":13,"tag":38,"props":129,"children":130},{"style":57},[131],{"type":18,"value":60},{"type":13,"tag":38,"props":133,"children":134},{"class":40,"line":63},[135,140,145,150,155,160,165,170,174,179],{"type":13,"tag":38,"props":136,"children":137},{"style":57},[138],{"type":18,"value":139}," device",{"type":13,"tag":38,"props":141,"children":142},{"style":45},[143],{"type":18,"value":144},":",{"type":13,"tag":38,"props":146,"children":147},{"style":45},[148],{"type":18,"value":149}," crate",{"type":13,"tag":38,"props":151,"children":152},{"style":45},[153],{"type":18,"value":154}," ::",{"type":13,"tag":38,"props":156,"children":157},{"style":57},[158],{"type":18,"value":159}," vk ",{"type":13,"tag":38,"props":161,"children":162},{"style":45},[163],{"type":18,"value":164},"::",{"type":13,"tag":38,"props":166,"children":167},{"style":72},[168],{"type":18,"value":169}," vk",{"type":13,"tag":38,"props":171,"children":172},{"style":45},[173],{"type":18,"value":164},{"type":13,"tag":38,"props":175,"children":176},{"style":72},[177],{"type":18,"value":178},"Device",{"type":13,"tag":38,"props":180,"children":181},{"style":57},[182],{"type":18,"value":80},{"type":13,"tag":38,"props":184,"children":185},{"class":40,"line":83},[186,191,195,199,203,208],{"type":13,"tag":38,"props":187,"children":188},{"style":57},[189],{"type":18,"value":190}," operation",{"type":13,"tag":38,"props":192,"children":193},{"style":45},[194],{"type":18,"value":144},{"type":13,"tag":38,"props":196,"children":197},{"style":72},[198],{"type":18,"value":169},{"type":13,"tag":38,"props":200,"children":201},{"style":45},[202],{"type":18,"value":164},{"type":13,"tag":38,"props":204,"children":205},{"style":72},[206],{"type":18,"value":207},"DeferredOperationKHR",{"type":13,"tag":38,"props":209,"children":210},{"style":57},[211],{"type":18,"value":80},{"type":13,"tag":38,"props":213,"children":215},{"class":40,"line":214},4,[216,221,226,231],{"type":13,"tag":38,"props":217,"children":218},{"style":57},[219],{"type":18,"value":220},") ",{"type":13,"tag":38,"props":222,"children":223},{"style":45},[224],{"type":18,"value":225},"->",{"type":13,"tag":38,"props":227,"children":228},{"style":72},[229],{"type":18,"value":230}," u32",{"type":13,"tag":38,"props":232,"children":233},{"style":57},[234],{"type":18,"value":235},";\n",{"type":13,"tag":237,"props":238,"children":239},"ul",{},[240,258],{"type":13,"tag":241,"props":242,"children":243},"li",{},[244,249,251,256],{"type":13,"tag":34,"props":245,"children":247},{"className":246},[],[248],{"type":18,"value":75},{"type":18,"value":250}," is the device which owns ",{"type":13,"tag":34,"props":252,"children":254},{"className":253},[],[255],{"type":18,"value":94},{"type":18,"value":257},".",{"type":13,"tag":241,"props":259,"children":260},{},[261,266],{"type":13,"tag":34,"props":262,"children":264},{"className":263},[],[265],{"type":18,"value":94},{"type":18,"value":267}," is the deferred operation to be queried.",{"type":13,"tag":14,"props":269,"children":270},{},[271,273,278,280,284,286,292],{"type":18,"value":272},"The returned value is the maximum number of threads that can usefully\nexecute a deferred operation concurrently, reported for the state of the\ndeferred operation at the point this command is called.\nThis value is intended to be used to better schedule work onto available\nthreads.\nApplications ",{"type":13,"tag":274,"props":275,"children":277},"normative",{"type":276},"can",[],{"type":18,"value":279}," join any number of threads to the deferred operation and\nexpect it to eventually complete, though excessive joins ",{"type":13,"tag":274,"props":281,"children":283},{"type":282},"may",[],{"type":18,"value":285}," return\n",{"type":13,"tag":34,"props":287,"children":289},{"className":288},[],[290],{"type":18,"value":291},"VK_THREAD_DONE_KHR",{"type":18,"value":293}," immediately, performing no useful work.",{"type":13,"tag":14,"props":295,"children":296},{},[297,299,304,306,311],{"type":18,"value":298},"If ",{"type":13,"tag":34,"props":300,"children":302},{"className":301},[],[303],{"type":18,"value":94},{"type":18,"value":305}," is complete,\n",{"type":13,"tag":34,"props":307,"children":309},{"className":308},[],[310],{"type":18,"value":4},{"type":18,"value":312}," returns zero.",{"type":13,"tag":14,"props":314,"children":315},{},[316,317,322,324,327],{"type":18,"value":298},{"type":13,"tag":34,"props":318,"children":320},{"className":319},[],[321],{"type":18,"value":94},{"type":18,"value":323}," is currently joined to any threads, the value returned by\nthis command ",{"type":13,"tag":274,"props":325,"children":326},{"type":282},[],{"type":18,"value":328}," immediately be out of date.",{"type":13,"tag":14,"props":330,"children":331},{},[332,333,338,340,344,346,353,355,360,362,366],{"type":18,"value":298},{"type":13,"tag":34,"props":334,"children":336},{"className":335},[],[337],{"type":18,"value":94},{"type":18,"value":339}," is pending, implementations ",{"type":13,"tag":274,"props":341,"children":343},{"type":342},"must",[],{"type":18,"value":345}," not return zero unless\nat least one thread is currently executing ",{"type":13,"tag":347,"props":348,"children":350},"a",{"href":349},"/man/vkDeferredOperationJoinKHR",[351],{"type":18,"value":352},"vkDeferredOperationJoinKHR",{"type":18,"value":354},"\non ",{"type":13,"tag":34,"props":356,"children":358},{"className":357},[],[359],{"type":18,"value":94},{"type":18,"value":361},".\nIf there are such threads, the implementation ",{"type":13,"tag":274,"props":363,"children":365},{"type":364},"should",[],{"type":18,"value":367}," return an estimate of\nthe number of additional threads which it could profitably use.",{"type":13,"tag":14,"props":369,"children":370},{},[371,373,376,378,384,386,389,391,394],{"type":18,"value":372},"Implementations ",{"type":13,"tag":274,"props":374,"children":375},{"type":282},[],{"type":18,"value":377}," return 2",{"type":13,"tag":379,"props":380,"children":381},"sup",{},[382],{"type":18,"value":383},"32",{"type":18,"value":385},"-1 to indicate that the maximum\nconcurrency is unknown and cannot be easily derived.\nImplementations ",{"type":13,"tag":274,"props":387,"children":388},{"type":282},[],{"type":18,"value":390}," return values larger than the maximum concurrency\navailable on the host CPU.\nIn these situations, an application ",{"type":13,"tag":274,"props":392,"children":393},{"type":364},[],{"type":18,"value":395}," clamp the return value rather\nthan oversubscribing the machine.",{"type":13,"tag":397,"props":398,"children":399},"note",{},[400],{"type":13,"tag":14,"props":401,"children":402},{},[403,405,411],{"type":18,"value":404},"The recommended usage pattern for applications is to query this value once,\nafter deferral, and schedule no more than the specified number of threads to\njoin the operation.\nEach time a joined thread receives ",{"type":13,"tag":34,"props":406,"children":408},{"className":407},[],[409],{"type":18,"value":410},"VK_THREAD_IDLE_KHR",{"type":18,"value":412},", the application\nshould schedule an additional join at some point in the future, but is not\nrequired to do so.",{"type":13,"tag":414,"props":415,"children":417},"validity-group",{"name":416},"Valid Usage (Implicit)",[418,446,470],{"type":13,"tag":419,"props":420,"children":422},"validity-field",{"name":421},"VUID-vkGetDeferredOperationMaxConcurrencyKHR-device-parameter",[423],{"type":13,"tag":14,"props":424,"children":425},{},[426,431,433,436,438,444],{"type":13,"tag":34,"props":427,"children":429},{"className":428},[],[430],{"type":18,"value":75},{"type":18,"value":432}," ",{"type":13,"tag":274,"props":434,"children":435},{"type":342},[],{"type":18,"value":437}," be a valid ",{"type":13,"tag":347,"props":439,"children":441},{"href":440},"/man/VkDevice",[442],{"type":18,"value":443},"VkDevice",{"type":18,"value":445}," handle",{"type":13,"tag":419,"props":447,"children":449},{"name":448},"VUID-vkGetDeferredOperationMaxConcurrencyKHR-operation-parameter",[450],{"type":13,"tag":14,"props":451,"children":452},{},[453,458,459,462,463,469],{"type":13,"tag":34,"props":454,"children":456},{"className":455},[],[457],{"type":18,"value":94},{"type":18,"value":432},{"type":13,"tag":274,"props":460,"children":461},{"type":342},[],{"type":18,"value":437},{"type":13,"tag":347,"props":464,"children":466},{"href":465},"/man/VkDeferredOperationKHR",[467],{"type":18,"value":468},"VkDeferredOperationKHR",{"type":18,"value":445},{"type":13,"tag":419,"props":471,"children":473},{"name":472},"VUID-vkGetDeferredOperationMaxConcurrencyKHR-operation-parent",[474],{"type":13,"tag":14,"props":475,"children":476},{},[477,482,483,486,488],{"type":13,"tag":34,"props":478,"children":480},{"className":479},[],[481],{"type":18,"value":94},{"type":18,"value":432},{"type":13,"tag":274,"props":484,"children":485},{"type":342},[],{"type":18,"value":487}," have been created, allocated, or retrieved from ",{"type":13,"tag":34,"props":489,"children":491},{"className":490},[],[492],{"type":18,"value":75},{"type":13,"tag":494,"props":495,"children":496},"style",{},[497],{"type":18,"value":498},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":31,"searchDepth":63,"depth":63,"links":500},[],"markdown",1729612513443]