[{"data":1,"prerenderedAt":1531},["ShallowReactive",2],{"WjKfHz2ToV":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1530,"_id":4},"vkQueueSubmit","Submits a sequence of semaphores or command buffers to a queue","VK_VERSION_1_0","protos",[],{"type":10,"children":11,"toc":1528},"root",[12,20,325,418,456,490,516,556,602,674,1339,1483,1522],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To submit command buffers to a queue, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,145],{"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","VkResult vkQueueSubmit(\n VkQueue queue,\n uint32_t submitCount,\n const VkSubmitInfo* pSubmits,\n VkFence fence);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,59,79,98,126],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,54],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[47],{"type":18,"value":48},"VkResult ",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":4},{"type":13,"tag":38,"props":55,"children":56},{"style":45},[57],{"type":18,"value":58},"(\n",{"type":13,"tag":38,"props":60,"children":62},{"class":40,"line":61},2,[63,68,74],{"type":13,"tag":38,"props":64,"children":65},{"style":45},[66],{"type":18,"value":67}," VkQueue ",{"type":13,"tag":38,"props":69,"children":71},{"style":70},"--shiki-default:#953800;--shiki-dark:#FFA657",[72],{"type":18,"value":73},"queue",{"type":13,"tag":38,"props":75,"children":76},{"style":45},[77],{"type":18,"value":78},",\n",{"type":13,"tag":38,"props":80,"children":82},{"class":40,"line":81},3,[83,89,94],{"type":13,"tag":38,"props":84,"children":86},{"style":85},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[87],{"type":18,"value":88}," uint32_t",{"type":13,"tag":38,"props":90,"children":91},{"style":70},[92],{"type":18,"value":93}," submitCount",{"type":13,"tag":38,"props":95,"children":96},{"style":45},[97],{"type":18,"value":78},{"type":13,"tag":38,"props":99,"children":101},{"class":40,"line":100},4,[102,107,112,117,122],{"type":13,"tag":38,"props":103,"children":104},{"style":85},[105],{"type":18,"value":106}," const",{"type":13,"tag":38,"props":108,"children":109},{"style":45},[110],{"type":18,"value":111}," VkSubmitInfo",{"type":13,"tag":38,"props":113,"children":114},{"style":85},[115],{"type":18,"value":116},"*",{"type":13,"tag":38,"props":118,"children":119},{"style":70},[120],{"type":18,"value":121}," pSubmits",{"type":13,"tag":38,"props":123,"children":124},{"style":45},[125],{"type":18,"value":78},{"type":13,"tag":38,"props":127,"children":129},{"class":40,"line":128},5,[130,135,140],{"type":13,"tag":38,"props":131,"children":132},{"style":45},[133],{"type":18,"value":134}," VkFence ",{"type":13,"tag":38,"props":136,"children":137},{"style":70},[138],{"type":18,"value":139},"fence",{"type":13,"tag":38,"props":141,"children":142},{"style":45},[143],{"type":18,"value":144},");\n",{"type":13,"tag":25,"props":146,"children":151},{"className":147,"code":148,"filename":149,"language":150,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn queue_submit(\n queue: vk::Queue,\n submit_count: u32,\n p_submits: *const vk::SubmitInfo,\n fence: vk::Fence,\n) -> vk::Result;\n","Rust","rs",[152],{"type":13,"tag":34,"props":153,"children":154},{"__ignoreMap":31},[155,177,209,230,264,293],{"type":13,"tag":38,"props":156,"children":157},{"class":40,"line":41},[158,163,168,173],{"type":13,"tag":38,"props":159,"children":160},{"style":85},[161],{"type":18,"value":162},"pub",{"type":13,"tag":38,"props":164,"children":165},{"style":85},[166],{"type":18,"value":167}," fn",{"type":13,"tag":38,"props":169,"children":170},{"style":51},[171],{"type":18,"value":172}," queue_submit",{"type":13,"tag":38,"props":174,"children":175},{"style":45},[176],{"type":18,"value":58},{"type":13,"tag":38,"props":178,"children":179},{"class":40,"line":61},[180,185,190,195,200,205],{"type":13,"tag":38,"props":181,"children":182},{"style":45},[183],{"type":18,"value":184}," queue",{"type":13,"tag":38,"props":186,"children":187},{"style":85},[188],{"type":18,"value":189},":",{"type":13,"tag":38,"props":191,"children":192},{"style":70},[193],{"type":18,"value":194}," vk",{"type":13,"tag":38,"props":196,"children":197},{"style":85},[198],{"type":18,"value":199},"::",{"type":13,"tag":38,"props":201,"children":202},{"style":70},[203],{"type":18,"value":204},"Queue",{"type":13,"tag":38,"props":206,"children":207},{"style":45},[208],{"type":18,"value":78},{"type":13,"tag":38,"props":210,"children":211},{"class":40,"line":81},[212,217,221,226],{"type":13,"tag":38,"props":213,"children":214},{"style":45},[215],{"type":18,"value":216}," submit_count",{"type":13,"tag":38,"props":218,"children":219},{"style":85},[220],{"type":18,"value":189},{"type":13,"tag":38,"props":222,"children":223},{"style":70},[224],{"type":18,"value":225}," u32",{"type":13,"tag":38,"props":227,"children":228},{"style":45},[229],{"type":18,"value":78},{"type":13,"tag":38,"props":231,"children":232},{"class":40,"line":100},[233,238,242,247,251,255,260],{"type":13,"tag":38,"props":234,"children":235},{"style":45},[236],{"type":18,"value":237}," p_submits",{"type":13,"tag":38,"props":239,"children":240},{"style":85},[241],{"type":18,"value":189},{"type":13,"tag":38,"props":243,"children":244},{"style":85},[245],{"type":18,"value":246}," *const",{"type":13,"tag":38,"props":248,"children":249},{"style":70},[250],{"type":18,"value":194},{"type":13,"tag":38,"props":252,"children":253},{"style":85},[254],{"type":18,"value":199},{"type":13,"tag":38,"props":256,"children":257},{"style":70},[258],{"type":18,"value":259},"SubmitInfo",{"type":13,"tag":38,"props":261,"children":262},{"style":45},[263],{"type":18,"value":78},{"type":13,"tag":38,"props":265,"children":266},{"class":40,"line":128},[267,272,276,280,284,289],{"type":13,"tag":38,"props":268,"children":269},{"style":45},[270],{"type":18,"value":271}," fence",{"type":13,"tag":38,"props":273,"children":274},{"style":85},[275],{"type":18,"value":189},{"type":13,"tag":38,"props":277,"children":278},{"style":70},[279],{"type":18,"value":194},{"type":13,"tag":38,"props":281,"children":282},{"style":85},[283],{"type":18,"value":199},{"type":13,"tag":38,"props":285,"children":286},{"style":70},[287],{"type":18,"value":288},"Fence",{"type":13,"tag":38,"props":290,"children":291},{"style":45},[292],{"type":18,"value":78},{"type":13,"tag":38,"props":294,"children":296},{"class":40,"line":295},6,[297,302,307,311,315,320],{"type":13,"tag":38,"props":298,"children":299},{"style":45},[300],{"type":18,"value":301},") ",{"type":13,"tag":38,"props":303,"children":304},{"style":85},[305],{"type":18,"value":306},"->",{"type":13,"tag":38,"props":308,"children":309},{"style":70},[310],{"type":18,"value":194},{"type":13,"tag":38,"props":312,"children":313},{"style":85},[314],{"type":18,"value":199},{"type":13,"tag":38,"props":316,"children":317},{"style":70},[318],{"type":18,"value":319},"Result",{"type":13,"tag":38,"props":321,"children":322},{"style":45},[323],{"type":18,"value":324},";\n",{"type":13,"tag":326,"props":327,"children":328},"ul",{},[329,340,359,378],{"type":13,"tag":330,"props":331,"children":332},"li",{},[333,338],{"type":13,"tag":34,"props":334,"children":336},{"className":335},[],[337],{"type":18,"value":73},{"type":18,"value":339}," is the queue that the command buffers will be submitted to.",{"type":13,"tag":330,"props":341,"children":342},{},[343,349,351,357],{"type":13,"tag":34,"props":344,"children":346},{"className":345},[],[347],{"type":18,"value":348},"submitCount",{"type":18,"value":350}," is the number of elements in the ",{"type":13,"tag":34,"props":352,"children":354},{"className":353},[],[355],{"type":18,"value":356},"pSubmits",{"type":18,"value":358}," array.",{"type":13,"tag":330,"props":360,"children":361},{},[362,367,369,376],{"type":13,"tag":34,"props":363,"children":365},{"className":364},[],[366],{"type":18,"value":356},{"type":18,"value":368}," is a pointer to an array of ",{"type":13,"tag":370,"props":371,"children":373},"a",{"href":372},"/man/VkSubmitInfo",[374],{"type":18,"value":375},"VkSubmitInfo",{"type":18,"value":377},"\nstructures, each specifying a command buffer submission batch.",{"type":13,"tag":330,"props":379,"children":380},{},[381,386,388,393,395,400,402,408,410,416],{"type":13,"tag":34,"props":382,"children":384},{"className":383},[],[385],{"type":18,"value":139},{"type":18,"value":387}," is an ",{"type":13,"tag":389,"props":390,"children":392},"normative",{"type":391},"optional",[],{"type":18,"value":394}," handle to a fence to be signaled once all\nsubmitted command buffers have completed execution.\nIf ",{"type":13,"tag":34,"props":396,"children":398},{"className":397},[],[399],{"type":18,"value":139},{"type":18,"value":401}," is not ",{"type":13,"tag":370,"props":403,"children":405},{"href":404},"/man/VK_NULL_HANDLE",[406],{"type":18,"value":407},"VK_NULL_HANDLE",{"type":18,"value":409},", it defines a\n",{"type":13,"tag":370,"props":411,"children":413},{"href":412},"/chapters/synchronization#synchronization-fences-signaling",[414],{"type":18,"value":415},"fence signal operation",{"type":18,"value":417},".",{"type":13,"tag":14,"props":419,"children":420},{},[421,426,428,434,436,441,443,448,450,454],{"type":13,"tag":34,"props":422,"children":424},{"className":423},[],[425],{"type":18,"value":4},{"type":18,"value":427}," is a ",{"type":13,"tag":370,"props":429,"children":431},{"href":430},"/chapters/devsandqueues#devsandqueues-submission",[432],{"type":18,"value":433},"queue submission\ncommand",{"type":18,"value":435},", with each batch defined by an element of ",{"type":13,"tag":34,"props":437,"children":439},{"className":438},[],[440],{"type":18,"value":356},{"type":18,"value":442},".\nBatches begin execution in the order they appear in ",{"type":13,"tag":34,"props":444,"children":446},{"className":445},[],[447],{"type":18,"value":356},{"type":18,"value":449},", but ",{"type":13,"tag":389,"props":451,"children":453},{"type":452},"may",[],{"type":18,"value":455},"\ncomplete out of order.",{"type":13,"tag":14,"props":457,"children":458},{},[459,461,466,468,474,476,481,483,489],{"type":18,"value":460},"Fence and semaphore operations submitted with ",{"type":13,"tag":370,"props":462,"children":464},{"href":463},"/man/vkQueueSubmit",[465],{"type":18,"value":4},{"type":18,"value":467}," have\nadditional ordering constraints compared to other submission commands, with\ndependencies involving previous and subsequent queue operations.\nInformation about these additional constraints can be found in the\n",{"type":13,"tag":370,"props":469,"children":471},{"href":470},"/chapters/synchronization#synchronization-semaphores",[472],{"type":18,"value":473},"semaphore",{"type":18,"value":475}," and ",{"type":13,"tag":370,"props":477,"children":479},{"href":478},"/chapters/synchronization#synchronization-fences",[480],{"type":18,"value":139},{"type":18,"value":482}," sections of ",{"type":13,"tag":370,"props":484,"children":486},{"href":485},"/chapters/synchronization#synchronization",[487],{"type":18,"value":488},"the synchronization chapter",{"type":18,"value":417},{"type":13,"tag":14,"props":491,"children":492},{},[493,495,501,503,509,511,515],{"type":18,"value":494},"Details on the interaction of ",{"type":13,"tag":34,"props":496,"children":498},{"className":497},[],[499],{"type":18,"value":500},"pWaitDstStageMask",{"type":18,"value":502}," with synchronization\nare described in the ",{"type":13,"tag":370,"props":504,"children":506},{"href":505},"/chapters/synchronization#synchronization-semaphores-waiting",[507],{"type":18,"value":508},"semaphore wait\noperation",{"type":18,"value":510}," section of ",{"type":13,"tag":370,"props":512,"children":513},{"href":485},[514],{"type":18,"value":488},{"type":18,"value":417},{"type":13,"tag":14,"props":517,"children":518},{},[519,521,526,528,534,536,542,544,549,551,554],{"type":18,"value":520},"The order that batches appear in ",{"type":13,"tag":34,"props":522,"children":524},{"className":523},[],[525],{"type":18,"value":356},{"type":18,"value":527}," is used to determine\n",{"type":13,"tag":370,"props":529,"children":531},{"href":530},"/chapters/synchronization#synchronization-submission-order",[532],{"type":18,"value":533},"submission order",{"type":18,"value":535},", and thus all the\n",{"type":13,"tag":370,"props":537,"children":539},{"href":538},"/chapters/synchronization#synchronization-implicit",[540],{"type":18,"value":541},"implicit ordering guarantees",{"type":18,"value":543}," that respect it.\nOther than these implicit ordering guarantees and any ",{"type":13,"tag":370,"props":545,"children":546},{"href":485},[547],{"type":18,"value":548},"explicit synchronization primitives",{"type":18,"value":550},", these batches ",{"type":13,"tag":389,"props":552,"children":553},{"type":452},[],{"type":18,"value":555}," overlap or\notherwise execute out of order.",{"type":13,"tag":14,"props":557,"children":558},{},[559,561,567,569,574,576,580,582,586,588,594,596,601],{"type":18,"value":560},"If any command buffer submitted to this queue is in the\n",{"type":13,"tag":370,"props":562,"children":564},{"href":563},"/chapters/commandbuffers#commandbuffers-lifecycle",[565],{"type":18,"value":566},"executable state",{"type":18,"value":568},", it is moved to the\n",{"type":13,"tag":370,"props":570,"children":571},{"href":563},[572],{"type":18,"value":573},"pending state",{"type":18,"value":575},".\nOnce execution of all submissions of a command buffer complete, it moves\nfrom the ",{"type":13,"tag":370,"props":577,"children":578},{"href":563},[579],{"type":18,"value":573},{"type":18,"value":581},", back to the\n",{"type":13,"tag":370,"props":583,"children":584},{"href":563},[585],{"type":18,"value":566},{"type":18,"value":587},".\nIf a command buffer was recorded with the\n",{"type":13,"tag":34,"props":589,"children":591},{"className":590},[],[592],{"type":18,"value":593},"VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT",{"type":18,"value":595}," flag, it instead moves to\nthe ",{"type":13,"tag":370,"props":597,"children":598},{"href":563},[599],{"type":18,"value":600},"invalid state",{"type":18,"value":417},{"type":13,"tag":14,"props":603,"children":604},{},[605,607,612,614,617,619,625,627,633,635,639,641,646,648,653,655,658,659,665,667,673],{"type":18,"value":606},"If ",{"type":13,"tag":34,"props":608,"children":610},{"className":609},[],[611],{"type":18,"value":4},{"type":18,"value":613}," fails, it ",{"type":13,"tag":389,"props":615,"children":616},{"type":452},[],{"type":18,"value":618}," return\n",{"type":13,"tag":34,"props":620,"children":622},{"className":621},[],[623],{"type":18,"value":624},"VK_ERROR_OUT_OF_HOST_MEMORY",{"type":18,"value":626}," or ",{"type":13,"tag":34,"props":628,"children":630},{"className":629},[],[631],{"type":18,"value":632},"VK_ERROR_OUT_OF_DEVICE_MEMORY",{"type":18,"value":634},".\nIf it does, the implementation ",{"type":13,"tag":389,"props":636,"children":638},{"type":637},"must",[],{"type":18,"value":640}," ensure that the state and contents of\nany resources or synchronization primitives referenced by the submitted\ncommand buffers and any semaphores referenced by ",{"type":13,"tag":34,"props":642,"children":644},{"className":643},[],[645],{"type":18,"value":356},{"type":18,"value":647}," is\nunaffected by the call or its failure.\nIf ",{"type":13,"tag":34,"props":649,"children":651},{"className":650},[],[652],{"type":18,"value":4},{"type":18,"value":654}," fails in such a way that the implementation is unable\nto make that guarantee, the implementation ",{"type":13,"tag":389,"props":656,"children":657},{"type":637},[],{"type":18,"value":618},{"type":13,"tag":34,"props":660,"children":662},{"className":661},[],[663],{"type":18,"value":664},"VK_ERROR_DEVICE_LOST",{"type":18,"value":666},".\nSee ",{"type":13,"tag":370,"props":668,"children":670},{"href":669},"/chapters/devsandqueues#devsandqueues-lost-device",[671],{"type":18,"value":672},"Lost Device",{"type":18,"value":417},{"type":13,"tag":675,"props":676,"children":678},"validity-group",{"name":677},"Valid Usage",[679,712,742,806,846,874,909,964,996,1035,1072,1112,1152,1196,1270,1305],{"type":13,"tag":680,"props":681,"children":683},"validity-field",{"name":682},"VUID-vkQueueSubmit-fence-00063",[684],{"type":13,"tag":14,"props":685,"children":686},{},[687,688,693,694,698,700,705,707,710],{"type":18,"value":606},{"type":13,"tag":34,"props":689,"children":691},{"className":690},[],[692],{"type":18,"value":139},{"type":18,"value":401},{"type":13,"tag":370,"props":695,"children":696},{"href":404},[697],{"type":18,"value":407},{"type":18,"value":699},", ",{"type":13,"tag":34,"props":701,"children":703},{"className":702},[],[704],{"type":18,"value":139},{"type":18,"value":706}," ",{"type":13,"tag":389,"props":708,"children":709},{"type":637},[],{"type":18,"value":711}," be\nunsignaled",{"type":13,"tag":680,"props":713,"children":715},{"name":714},"VUID-vkQueueSubmit-fence-00064",[716],{"type":13,"tag":14,"props":717,"children":718},{},[719,720,725,726,730,731,736,737,740],{"type":18,"value":606},{"type":13,"tag":34,"props":721,"children":723},{"className":722},[],[724],{"type":18,"value":139},{"type":18,"value":401},{"type":13,"tag":370,"props":727,"children":728},{"href":404},[729],{"type":18,"value":407},{"type":18,"value":699},{"type":13,"tag":34,"props":732,"children":734},{"className":733},[],[735],{"type":18,"value":139},{"type":18,"value":706},{"type":13,"tag":389,"props":738,"children":739},{"type":637},[],{"type":18,"value":741}," not be\nassociated with any other queue command that has not yet completed\nexecution on that queue",{"type":13,"tag":680,"props":743,"children":745},{"name":744},"VUID-vkQueueSubmit-pCommandBuffers-00065",[746],{"type":13,"tag":14,"props":747,"children":748},{},[749,751,757,758,764,766,772,774,780,782,787,788,791,793,799,801],{"type":18,"value":750},"Any calls to ",{"type":13,"tag":370,"props":752,"children":754},{"href":753},"/man/vkCmdSetEvent",[755],{"type":18,"value":756},"vkCmdSetEvent",{"type":18,"value":699},{"type":13,"tag":370,"props":759,"children":761},{"href":760},"/man/vkCmdResetEvent",[762],{"type":18,"value":763},"vkCmdResetEvent",{"type":18,"value":765}," or\n",{"type":13,"tag":370,"props":767,"children":769},{"href":768},"/man/vkCmdWaitEvents",[770],{"type":18,"value":771},"vkCmdWaitEvents",{"type":18,"value":773}," that have been recorded into any of the command\nbuffer elements of the ",{"type":13,"tag":34,"props":775,"children":777},{"className":776},[],[778],{"type":18,"value":779},"pCommandBuffers",{"type":18,"value":781}," member of any element of\n",{"type":13,"tag":34,"props":783,"children":785},{"className":784},[],[786],{"type":18,"value":356},{"type":18,"value":699},{"type":13,"tag":389,"props":789,"children":790},{"type":637},[],{"type":18,"value":792}," not reference any ",{"type":13,"tag":370,"props":794,"children":796},{"href":795},"/man/VkEvent",[797],{"type":18,"value":798},"VkEvent",{"type":18,"value":800}," that is referenced\nby any of those commands in a command buffer that has been submitted to\nanother queue and is still in the ",{"type":13,"tag":802,"props":803,"children":804},"em",{},[805],{"type":18,"value":573},{"type":13,"tag":680,"props":807,"children":809},{"name":808},"VUID-vkQueueSubmit-pWaitDstStageMask-00066",[810],{"type":13,"tag":14,"props":811,"children":812},{},[813,815,820,822,827,828,831,833,838,840],{"type":18,"value":814},"Any stage flag included in any element of the ",{"type":13,"tag":34,"props":816,"children":818},{"className":817},[],[819],{"type":18,"value":500},{"type":18,"value":821},"\nmember of any element of ",{"type":13,"tag":34,"props":823,"children":825},{"className":824},[],[826],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":829,"children":830},{"type":637},[],{"type":18,"value":832}," be a pipeline stage\nsupported by one of the capabilities of ",{"type":13,"tag":34,"props":834,"children":836},{"className":835},[],[837],{"type":18,"value":73},{"type":18,"value":839},", as specified in the\n",{"type":13,"tag":370,"props":841,"children":843},{"href":842},"/chapters/synchronization#synchronization-pipeline-stages-supported",[844],{"type":18,"value":845},"table of supported pipeline\nstages",{"type":13,"tag":680,"props":847,"children":849},{"name":848},"VUID-vkQueueSubmit-pSignalSemaphores-00067",[850],{"type":13,"tag":14,"props":851,"children":852},{},[853,855,861,863,868,869,872],{"type":18,"value":854},"Each binary semaphore element of the ",{"type":13,"tag":34,"props":856,"children":858},{"className":857},[],[859],{"type":18,"value":860},"pSignalSemaphores",{"type":18,"value":862}," member of\nany element of ",{"type":13,"tag":34,"props":864,"children":866},{"className":865},[],[867],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":870,"children":871},{"type":637},[],{"type":18,"value":873}," be unsignaled when the semaphore\nsignal operation it defines is executed on the device",{"type":13,"tag":680,"props":875,"children":877},{"name":876},"VUID-vkQueueSubmit-pWaitSemaphores-00068",[878],{"type":13,"tag":14,"props":879,"children":880},{},[881,883,889,890,895,897,902,904,907],{"type":18,"value":882},"When a semaphore wait operation referring to a binary semaphore defined\nby any element of the ",{"type":13,"tag":34,"props":884,"children":886},{"className":885},[],[887],{"type":18,"value":888},"pWaitSemaphores",{"type":18,"value":781},{"type":13,"tag":34,"props":891,"children":893},{"className":892},[],[894],{"type":18,"value":356},{"type":18,"value":896}," executes on ",{"type":13,"tag":34,"props":898,"children":900},{"className":899},[],[901],{"type":18,"value":73},{"type":18,"value":903},", there ",{"type":13,"tag":389,"props":905,"children":906},{"type":637},[],{"type":18,"value":908}," be no other queues\nwaiting on the same semaphore",{"type":13,"tag":680,"props":910,"children":912},{"name":911},"VUID-vkQueueSubmit-pWaitSemaphores-03238",[913],{"type":13,"tag":14,"props":914,"children":915},{},[916,918,923,925,930,932,938,940,946,949,951,957,959,962],{"type":18,"value":917},"All elements of the ",{"type":13,"tag":34,"props":919,"children":921},{"className":920},[],[922],{"type":18,"value":888},{"type":18,"value":924}," member of all elements of\n",{"type":13,"tag":34,"props":926,"children":928},{"className":927},[],[929],{"type":18,"value":356},{"type":18,"value":931},"\ncreated with a ",{"type":13,"tag":370,"props":933,"children":935},{"href":934},"/man/VkSemaphoreType",[936],{"type":18,"value":937},"VkSemaphoreType",{"type":18,"value":939}," of ",{"type":13,"tag":34,"props":941,"children":943},{"className":942},[],[944],{"type":18,"value":945},"VK_SEMAPHORE_TYPE_BINARY",{"type":13,"tag":389,"props":947,"children":948},{"type":637},[],{"type":18,"value":950}," reference a semaphore signal operation that has been submitted for\nexecution and any ",{"type":13,"tag":370,"props":952,"children":954},{"href":953},"/chapters/synchronization#synchronization-semaphores-signaling",[955],{"type":18,"value":956},"semaphore\nsignal operations",{"type":18,"value":958}," on which it depends ",{"type":13,"tag":389,"props":960,"children":961},{"type":637},[],{"type":18,"value":963}," have also been submitted\nfor execution",{"type":13,"tag":680,"props":965,"children":967},{"name":966},"VUID-vkQueueSubmit-pCommandBuffers-00070",[968],{"type":13,"tag":14,"props":969,"children":970},{},[971,973,978,980,985,986,989,991],{"type":18,"value":972},"Each element of the ",{"type":13,"tag":34,"props":974,"children":976},{"className":975},[],[977],{"type":18,"value":779},{"type":18,"value":979}," member of each element of\n",{"type":13,"tag":34,"props":981,"children":983},{"className":982},[],[984],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":987,"children":988},{"type":637},[],{"type":18,"value":990}," be in the ",{"type":13,"tag":370,"props":992,"children":993},{"href":563},[994],{"type":18,"value":995},"pending or\nexecutable state",{"type":13,"tag":680,"props":997,"children":999},{"name":998},"VUID-vkQueueSubmit-pCommandBuffers-00071",[1000],{"type":13,"tag":14,"props":1001,"children":1002},{},[1003,1005,1010,1011,1016,1018,1024,1026,1029,1031],{"type":18,"value":1004},"If any element of the ",{"type":13,"tag":34,"props":1006,"children":1008},{"className":1007},[],[1009],{"type":18,"value":779},{"type":18,"value":781},{"type":13,"tag":34,"props":1012,"children":1014},{"className":1013},[],[1015],{"type":18,"value":356},{"type":18,"value":1017}," was not recorded with the\n",{"type":13,"tag":34,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":18,"value":1023},"VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT",{"type":18,"value":1025},", it ",{"type":13,"tag":389,"props":1027,"children":1028},{"type":637},[],{"type":18,"value":1030}," not be in\nthe ",{"type":13,"tag":370,"props":1032,"children":1033},{"href":563},[1034],{"type":18,"value":573},{"type":13,"tag":680,"props":1036,"children":1038},{"name":1037},"VUID-vkQueueSubmit-pCommandBuffers-00072",[1039],{"type":13,"tag":14,"props":1040,"children":1041},{},[1042,1044,1050,1052,1057,1058,1063,1064,1067,1068],{"type":18,"value":1043},"Any ",{"type":13,"tag":370,"props":1045,"children":1047},{"href":1046},"/chapters/commandbuffers#commandbuffers-secondary",[1048],{"type":18,"value":1049},"secondary command buffers recorded",{"type":18,"value":1051},"\ninto any element of the ",{"type":13,"tag":34,"props":1053,"children":1055},{"className":1054},[],[1056],{"type":18,"value":779},{"type":18,"value":781},{"type":13,"tag":34,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":1065,"children":1066},{"type":637},[],{"type":18,"value":990},{"type":13,"tag":370,"props":1069,"children":1070},{"href":563},[1071],{"type":18,"value":995},{"type":13,"tag":680,"props":1073,"children":1075},{"name":1074},"VUID-vkQueueSubmit-pCommandBuffers-00073",[1076],{"type":13,"tag":14,"props":1077,"children":1078},{},[1079,1081,1085,1086,1091,1092,1097,1098,1103,1104,1107,1108],{"type":18,"value":1080},"If any ",{"type":13,"tag":370,"props":1082,"children":1083},{"href":1046},[1084],{"type":18,"value":1049},{"type":18,"value":1051},{"type":13,"tag":34,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":18,"value":779},{"type":18,"value":781},{"type":13,"tag":34,"props":1093,"children":1095},{"className":1094},[],[1096],{"type":18,"value":356},{"type":18,"value":1017},{"type":13,"tag":34,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":18,"value":1023},{"type":18,"value":1025},{"type":13,"tag":389,"props":1105,"children":1106},{"type":637},[],{"type":18,"value":1030},{"type":13,"tag":370,"props":1109,"children":1110},{"href":563},[1111],{"type":18,"value":573},{"type":13,"tag":680,"props":1113,"children":1115},{"name":1114},"VUID-vkQueueSubmit-pCommandBuffers-00074",[1116],{"type":13,"tag":14,"props":1117,"children":1118},{},[1119,1120,1125,1126,1131,1132,1135,1137,1143,1145,1150],{"type":18,"value":972},{"type":13,"tag":34,"props":1121,"children":1123},{"className":1122},[],[1124],{"type":18,"value":779},{"type":18,"value":979},{"type":13,"tag":34,"props":1127,"children":1129},{"className":1128},[],[1130],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":1133,"children":1134},{"type":637},[],{"type":18,"value":1136}," have been allocated from a ",{"type":13,"tag":34,"props":1138,"children":1140},{"className":1139},[],[1141],{"type":18,"value":1142},"VkCommandPool",{"type":18,"value":1144}," that\nwas created for the same queue family ",{"type":13,"tag":34,"props":1146,"children":1148},{"className":1147},[],[1149],{"type":18,"value":73},{"type":18,"value":1151}," belongs to",{"type":13,"tag":680,"props":1153,"children":1155},{"name":1154},"VUID-vkQueueSubmit-pSubmits-02207",[1156],{"type":13,"tag":14,"props":1157,"children":1158},{},[1159,1161,1167,1169,1175,1176,1179,1181,1187,1189,1194],{"type":18,"value":1160},"If any element of ",{"type":13,"tag":34,"props":1162,"children":1164},{"className":1163},[],[1165],{"type":18,"value":1166},"pSubmits→pCommandBuffers",{"type":18,"value":1168}," includes a\n",{"type":13,"tag":370,"props":1170,"children":1172},{"href":1171},"/chapters/synchronization#synchronization-queue-transfers-acquire",[1173],{"type":18,"value":1174},"Queue Family Ownership\nTransfer Acquire Operation",{"type":18,"value":903},{"type":13,"tag":389,"props":1177,"children":1178},{"type":637},[],{"type":18,"value":1180}," exist a previously submitted\n",{"type":13,"tag":370,"props":1182,"children":1184},{"href":1183},"/chapters/synchronization#synchronization-queue-transfers-release",[1185],{"type":18,"value":1186},"Queue Family Ownership\nTransfer Release Operation",{"type":18,"value":1188}," on a queue in the queue family identified\nby the acquire operation, with parameters matching the acquire operation\nas defined in the definition of such\n",{"type":13,"tag":370,"props":1190,"children":1191},{"href":1171},[1192],{"type":18,"value":1193},"acquire operations",{"type":18,"value":1195},", and\nwhich happens-before the acquire operation",{"type":13,"tag":680,"props":1197,"children":1199},{"name":1198},"VUID-vkQueueSubmit-pCommandBuffers-03220",[1200],{"type":13,"tag":14,"props":1201,"children":1202},{},[1203,1205,1210,1212,1218,1220,1226,1228,1234,1235,1241,1243,1249,1250,1253,1255,1261,1263,1268],{"type":18,"value":1204},"If a command recorded into any element of ",{"type":13,"tag":34,"props":1206,"children":1208},{"className":1207},[],[1209],{"type":18,"value":779},{"type":18,"value":1211}," was a\n",{"type":13,"tag":370,"props":1213,"children":1215},{"href":1214},"/man/vkCmdBeginQuery",[1216],{"type":18,"value":1217},"vkCmdBeginQuery",{"type":18,"value":1219}," whose ",{"type":13,"tag":34,"props":1221,"children":1223},{"className":1222},[],[1224],{"type":18,"value":1225},"queryPool",{"type":18,"value":1227}," was created with a\n",{"type":13,"tag":34,"props":1229,"children":1231},{"className":1230},[],[1232],{"type":18,"value":1233},"queryType",{"type":18,"value":939},{"type":13,"tag":34,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":18,"value":1240},"VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR",{"type":18,"value":1242},", the\n",{"type":13,"tag":370,"props":1244,"children":1246},{"href":1245},"/chapters/queries#profiling-lock",[1247],{"type":18,"value":1248},"profiling lock",{"type":18,"value":706},{"type":13,"tag":389,"props":1251,"children":1252},{"type":637},[],{"type":18,"value":1254}," have been held continuously on\nthe ",{"type":13,"tag":34,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":18,"value":1260},"VkDevice",{"type":18,"value":1262}," that ",{"type":13,"tag":34,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":18,"value":73},{"type":18,"value":1269}," was retrieved from, throughout\nrecording of those command buffers",{"type":13,"tag":680,"props":1271,"children":1273},{"name":1272},"VUID-vkQueueSubmit-pSubmits-02808",[1274],{"type":13,"tag":14,"props":1275,"children":1276},{},[1277,1279,1285,1287,1292,1293,1296,1298,1303],{"type":18,"value":1278},"Any resource created with ",{"type":13,"tag":34,"props":1280,"children":1282},{"className":1281},[],[1283],{"type":18,"value":1284},"VK_SHARING_MODE_EXCLUSIVE",{"type":18,"value":1286}," that is read\nby an operation specified by ",{"type":13,"tag":34,"props":1288,"children":1290},{"className":1289},[],[1291],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":1294,"children":1295},{"type":637},[],{"type":18,"value":1297}," not be owned by any\nqueue family other than the one which ",{"type":13,"tag":34,"props":1299,"children":1301},{"className":1300},[],[1302],{"type":18,"value":73},{"type":18,"value":1304}," belongs to, at the\ntime it is executed",{"type":13,"tag":680,"props":1306,"children":1308},{"name":1307},"VUID-vkQueueSubmit-pSubmits-04626",[1309],{"type":13,"tag":14,"props":1310,"children":1311},{},[1312,1313,1319,1321,1326,1327,1330,1332,1337],{"type":18,"value":1278},{"type":13,"tag":34,"props":1314,"children":1316},{"className":1315},[],[1317],{"type":18,"value":1318},"VK_SHARING_MODE_CONCURRENT",{"type":18,"value":1320}," that is\naccessed by an operation specified by ",{"type":13,"tag":34,"props":1322,"children":1324},{"className":1323},[],[1325],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":1328,"children":1329},{"type":637},[],{"type":18,"value":1331}," have included\nthe queue family of ",{"type":13,"tag":34,"props":1333,"children":1335},{"className":1334},[],[1336],{"type":18,"value":73},{"type":18,"value":1338}," at resource creation time",{"type":13,"tag":675,"props":1340,"children":1342},{"name":1341},"Valid Usage (Implicit)",[1343,1369,1414,1450],{"type":13,"tag":680,"props":1344,"children":1346},{"name":1345},"VUID-vkQueueSubmit-queue-parameter",[1347],{"type":13,"tag":14,"props":1348,"children":1349},{},[1350,1355,1356,1359,1361,1367],{"type":13,"tag":34,"props":1351,"children":1353},{"className":1352},[],[1354],{"type":18,"value":73},{"type":18,"value":706},{"type":13,"tag":389,"props":1357,"children":1358},{"type":637},[],{"type":18,"value":1360}," be a valid ",{"type":13,"tag":370,"props":1362,"children":1364},{"href":1363},"/man/VkQueue",[1365],{"type":18,"value":1366},"VkQueue",{"type":18,"value":1368}," handle",{"type":13,"tag":680,"props":1370,"children":1372},{"name":1371},"VUID-vkQueueSubmit-pSubmits-parameter",[1373],{"type":13,"tag":14,"props":1374,"children":1375},{},[1376,1377,1382,1383,1389,1390,1395,1396,1399,1401,1406,1408,1412],{"type":18,"value":606},{"type":13,"tag":34,"props":1378,"children":1380},{"className":1379},[],[1381],{"type":18,"value":348},{"type":18,"value":401},{"type":13,"tag":34,"props":1384,"children":1386},{"className":1385},[],[1387],{"type":18,"value":1388},"0",{"type":18,"value":699},{"type":13,"tag":34,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":18,"value":356},{"type":18,"value":706},{"type":13,"tag":389,"props":1397,"children":1398},{"type":637},[],{"type":18,"value":1400}," be a valid pointer to an array of ",{"type":13,"tag":34,"props":1402,"children":1404},{"className":1403},[],[1405],{"type":18,"value":348},{"type":18,"value":1407}," valid ",{"type":13,"tag":370,"props":1409,"children":1410},{"href":372},[1411],{"type":18,"value":375},{"type":18,"value":1413}," structures",{"type":13,"tag":680,"props":1415,"children":1417},{"name":1416},"VUID-vkQueueSubmit-fence-parameter",[1418],{"type":13,"tag":14,"props":1419,"children":1420},{},[1421,1422,1427,1428,1432,1433,1438,1439,1442,1443,1449],{"type":18,"value":606},{"type":13,"tag":34,"props":1423,"children":1425},{"className":1424},[],[1426],{"type":18,"value":139},{"type":18,"value":401},{"type":13,"tag":370,"props":1429,"children":1430},{"href":404},[1431],{"type":18,"value":407},{"type":18,"value":699},{"type":13,"tag":34,"props":1434,"children":1436},{"className":1435},[],[1437],{"type":18,"value":139},{"type":18,"value":706},{"type":13,"tag":389,"props":1440,"children":1441},{"type":637},[],{"type":18,"value":1360},{"type":13,"tag":370,"props":1444,"children":1446},{"href":1445},"/man/VkFence",[1447],{"type":18,"value":1448},"VkFence",{"type":18,"value":1368},{"type":13,"tag":680,"props":1451,"children":1453},{"name":1452},"VUID-vkQueueSubmit-commonparent",[1454],{"type":13,"tag":14,"props":1455,"children":1456},{},[1457,1459,1464,1466,1471,1473,1476,1478],{"type":18,"value":1458},"Both of ",{"type":13,"tag":34,"props":1460,"children":1462},{"className":1461},[],[1463],{"type":18,"value":139},{"type":18,"value":1465},", and ",{"type":13,"tag":34,"props":1467,"children":1469},{"className":1468},[],[1470],{"type":18,"value":73},{"type":18,"value":1472}," that are valid handles of non-ignored parameters ",{"type":13,"tag":389,"props":1474,"children":1475},{"type":637},[],{"type":18,"value":1477}," have been created, allocated, or retrieved from the same ",{"type":13,"tag":370,"props":1479,"children":1481},{"href":1480},"/man/VkDevice",[1482],{"type":18,"value":1260},{"type":13,"tag":1484,"props":1485,"children":1487},"validity-box",{"name":1486},"Host Synchronization",[1488],{"type":13,"tag":326,"props":1489,"children":1490},{},[1491,1507],{"type":13,"tag":330,"props":1492,"children":1493},{},[1494,1496,1501,1502,1505],{"type":18,"value":1495},"Host access to ",{"type":13,"tag":34,"props":1497,"children":1499},{"className":1498},[],[1500],{"type":18,"value":73},{"type":18,"value":706},{"type":13,"tag":389,"props":1503,"children":1504},{"type":637},[],{"type":18,"value":1506}," be externally synchronized",{"type":13,"tag":330,"props":1508,"children":1509},{},[1510,1511,1516,1517,1520],{"type":18,"value":1495},{"type":13,"tag":34,"props":1512,"children":1514},{"className":1513},[],[1515],{"type":18,"value":139},{"type":18,"value":706},{"type":13,"tag":389,"props":1518,"children":1519},{"type":637},[],{"type":18,"value":1521}," be externally synchronized\n::",{"type":13,"tag":1523,"props":1524,"children":1525},"style",{},[1526],{"type":18,"value":1527},"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":61,"depth":61,"links":1529},[],"markdown",1729612520060]