[{"data":1,"prerenderedAt":1395},["ShallowReactive",2],{"YMKf7XekSY":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1394,"_id":4},"vkCmdWriteTimestamp2","Write a device timestamp into a query object","VK_VERSION_1_3","protos",[],{"type":10,"children":11,"toc":1392},"root",[12,20,287,333,345,374,385,408,466,482,501,520,539,550,1175,1340,1386],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To request a timestamp and write the value to memory, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,136],{"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","void vkCmdWriteTimestamp2KHR(\n VkCommandBuffer commandBuffer,\n VkPipelineStageFlags2 stage,\n VkQueryPool queryPool,\n uint32_t query);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,61,81,99,117],{"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},"void",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":54}," vkCmdWriteTimestamp2KHR",{"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}," VkCommandBuffer ",{"type":13,"tag":38,"props":71,"children":73},{"style":72},"--shiki-default:#953800;--shiki-dark:#FFA657",[74],{"type":18,"value":75},"commandBuffer",{"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}," VkPipelineStageFlags2 ",{"type":13,"tag":38,"props":91,"children":92},{"style":72},[93],{"type":18,"value":94},"stage",{"type":13,"tag":38,"props":96,"children":97},{"style":57},[98],{"type":18,"value":80},{"type":13,"tag":38,"props":100,"children":102},{"class":40,"line":101},4,[103,108,113],{"type":13,"tag":38,"props":104,"children":105},{"style":57},[106],{"type":18,"value":107}," VkQueryPool ",{"type":13,"tag":38,"props":109,"children":110},{"style":72},[111],{"type":18,"value":112},"queryPool",{"type":13,"tag":38,"props":114,"children":115},{"style":57},[116],{"type":18,"value":80},{"type":13,"tag":38,"props":118,"children":120},{"class":40,"line":119},5,[121,126,131],{"type":13,"tag":38,"props":122,"children":123},{"style":45},[124],{"type":18,"value":125}," uint32_t",{"type":13,"tag":38,"props":127,"children":128},{"style":72},[129],{"type":18,"value":130}," query",{"type":13,"tag":38,"props":132,"children":133},{"style":57},[134],{"type":18,"value":135},");\n",{"type":13,"tag":25,"props":137,"children":142},{"className":138,"code":139,"filename":140,"language":141,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_write_timestamp2_khr(\n command_buffer: vk::CommandBuffer,\n stage: vk::PipelineStageFlags2,\n query_pool: vk::QueryPool,\n query: u32,\n);\n","Rust","rs",[143],{"type":13,"tag":34,"props":144,"children":145},{"__ignoreMap":31},[146,168,200,229,258,279],{"type":13,"tag":38,"props":147,"children":148},{"class":40,"line":41},[149,154,159,164],{"type":13,"tag":38,"props":150,"children":151},{"style":45},[152],{"type":18,"value":153},"pub",{"type":13,"tag":38,"props":155,"children":156},{"style":45},[157],{"type":18,"value":158}," fn",{"type":13,"tag":38,"props":160,"children":161},{"style":51},[162],{"type":18,"value":163}," cmd_write_timestamp2_khr",{"type":13,"tag":38,"props":165,"children":166},{"style":57},[167],{"type":18,"value":60},{"type":13,"tag":38,"props":169,"children":170},{"class":40,"line":63},[171,176,181,186,191,196],{"type":13,"tag":38,"props":172,"children":173},{"style":57},[174],{"type":18,"value":175}," command_buffer",{"type":13,"tag":38,"props":177,"children":178},{"style":45},[179],{"type":18,"value":180},":",{"type":13,"tag":38,"props":182,"children":183},{"style":72},[184],{"type":18,"value":185}," vk",{"type":13,"tag":38,"props":187,"children":188},{"style":45},[189],{"type":18,"value":190},"::",{"type":13,"tag":38,"props":192,"children":193},{"style":72},[194],{"type":18,"value":195},"CommandBuffer",{"type":13,"tag":38,"props":197,"children":198},{"style":57},[199],{"type":18,"value":80},{"type":13,"tag":38,"props":201,"children":202},{"class":40,"line":83},[203,208,212,216,220,225],{"type":13,"tag":38,"props":204,"children":205},{"style":57},[206],{"type":18,"value":207}," stage",{"type":13,"tag":38,"props":209,"children":210},{"style":45},[211],{"type":18,"value":180},{"type":13,"tag":38,"props":213,"children":214},{"style":72},[215],{"type":18,"value":185},{"type":13,"tag":38,"props":217,"children":218},{"style":45},[219],{"type":18,"value":190},{"type":13,"tag":38,"props":221,"children":222},{"style":72},[223],{"type":18,"value":224},"PipelineStageFlags2",{"type":13,"tag":38,"props":226,"children":227},{"style":57},[228],{"type":18,"value":80},{"type":13,"tag":38,"props":230,"children":231},{"class":40,"line":101},[232,237,241,245,249,254],{"type":13,"tag":38,"props":233,"children":234},{"style":57},[235],{"type":18,"value":236}," query_pool",{"type":13,"tag":38,"props":238,"children":239},{"style":45},[240],{"type":18,"value":180},{"type":13,"tag":38,"props":242,"children":243},{"style":72},[244],{"type":18,"value":185},{"type":13,"tag":38,"props":246,"children":247},{"style":45},[248],{"type":18,"value":190},{"type":13,"tag":38,"props":250,"children":251},{"style":72},[252],{"type":18,"value":253},"QueryPool",{"type":13,"tag":38,"props":255,"children":256},{"style":57},[257],{"type":18,"value":80},{"type":13,"tag":38,"props":259,"children":260},{"class":40,"line":119},[261,266,270,275],{"type":13,"tag":38,"props":262,"children":263},{"style":57},[264],{"type":18,"value":265}," query",{"type":13,"tag":38,"props":267,"children":268},{"style":45},[269],{"type":18,"value":180},{"type":13,"tag":38,"props":271,"children":272},{"style":72},[273],{"type":18,"value":274}," u32",{"type":13,"tag":38,"props":276,"children":277},{"style":57},[278],{"type":18,"value":80},{"type":13,"tag":38,"props":280,"children":282},{"class":40,"line":281},6,[283],{"type":13,"tag":38,"props":284,"children":285},{"style":57},[286],{"type":18,"value":135},{"type":13,"tag":288,"props":289,"children":290},"ul",{},[291,302,312,322],{"type":13,"tag":292,"props":293,"children":294},"li",{},[295,300],{"type":13,"tag":34,"props":296,"children":298},{"className":297},[],[299],{"type":18,"value":75},{"type":18,"value":301}," is the command buffer into which the command will be\nrecorded.",{"type":13,"tag":292,"props":303,"children":304},{},[305,310],{"type":13,"tag":34,"props":306,"children":308},{"className":307},[],[309],{"type":18,"value":94},{"type":18,"value":311}," specifies a stage of the pipeline.",{"type":13,"tag":292,"props":313,"children":314},{},[315,320],{"type":13,"tag":34,"props":316,"children":318},{"className":317},[],[319],{"type":18,"value":112},{"type":18,"value":321}," is the query pool that will manage the timestamp.",{"type":13,"tag":292,"props":323,"children":324},{},[325,331],{"type":13,"tag":34,"props":326,"children":328},{"className":327},[],[329],{"type":18,"value":330},"query",{"type":18,"value":332}," is the query within the query pool that will contain the\ntimestamp.",{"type":13,"tag":14,"props":334,"children":335},{},[336,338,343],{"type":18,"value":337},"When ",{"type":13,"tag":34,"props":339,"children":341},{"className":340},[],[342],{"type":18,"value":4},{"type":18,"value":344}," is submitted to a queue, it defines an\nexecution dependency on commands that were submitted before it, and writes a\ntimestamp to a query pool.",{"type":13,"tag":14,"props":346,"children":347},{},[348,350,357,359,365,367,372],{"type":18,"value":349},"The first ",{"type":13,"tag":351,"props":352,"children":354},"a",{"href":353},"/chapters/synchronization#synchronization-dependencies-scopes",[355],{"type":18,"value":356},"synchronization scope",{"type":18,"value":358},"\nincludes all commands that occur earlier in\n",{"type":13,"tag":351,"props":360,"children":362},{"href":361},"/chapters/synchronization#synchronization-submission-order",[363],{"type":18,"value":364},"submission order",{"type":18,"value":366},".\nThe synchronization scope is limited to operations on the pipeline stage\nspecified by ",{"type":13,"tag":34,"props":368,"children":370},{"className":369},[],[371],{"type":18,"value":94},{"type":18,"value":373},".",{"type":13,"tag":14,"props":375,"children":376},{},[377,379,383],{"type":18,"value":378},"The second ",{"type":13,"tag":351,"props":380,"children":381},{"href":353},[382],{"type":18,"value":356},{"type":18,"value":384},"\nincludes only the timestamp write operation.",{"type":13,"tag":386,"props":387,"children":388},"note",{},[389],{"type":13,"tag":14,"props":390,"children":391},{},[392,394,400,402,407],{"type":18,"value":393},"Implementations may write the timestamp at any stage that is\n",{"type":13,"tag":351,"props":395,"children":397},{"href":396},"/chapters/synchronization#synchronization-pipeline-stages-order",[398],{"type":18,"value":399},"logically later",{"type":18,"value":401}," than ",{"type":13,"tag":34,"props":403,"children":405},{"className":404},[],[406],{"type":18,"value":94},{"type":18,"value":373},{"type":13,"tag":14,"props":409,"children":410},{},[411,413,419,421,426,428,434,436,442,444,448,450,453,455,458,460],{"type":18,"value":412},"Any timestamp write that ",{"type":13,"tag":351,"props":414,"children":416},{"href":415},"/chapters/synchronization#synchronization-dependencies-execution",[417],{"type":18,"value":418},"happens-after",{"type":18,"value":420}," another timestamp write in the same submission ",{"type":13,"tag":422,"props":423,"children":425},"normative",{"type":424},"must",[],{"type":18,"value":427}," not\nhave a lower value unless its value overflows the maximum supported integer\nbit width of the query.\nIf\n",{"type":13,"tag":351,"props":429,"children":431},{"href":430},"/extensions/VK_KHR_calibrated_timestamps",[432],{"type":18,"value":433},"VK_KHR_calibrated_timestamps",{"type":18,"value":435},"\nor\n",{"type":13,"tag":351,"props":437,"children":439},{"href":438},"/extensions/VK_EXT_calibrated_timestamps",[440],{"type":18,"value":441},"VK_EXT_calibrated_timestamps",{"type":18,"value":443},"\nis enabled, this extends to timestamp writes across all submissions on the\nsame logical device: any timestamp write that\n",{"type":13,"tag":351,"props":445,"children":446},{"href":415},[447],{"type":18,"value":418},{"type":18,"value":449}," another ",{"type":13,"tag":422,"props":451,"children":452},{"type":424},[],{"type":18,"value":454}," not\nhave a lower value unless its value overflows the maximum supported integer\nbit width of the query.\nTimestamps written by this command ",{"type":13,"tag":422,"props":456,"children":457},{"type":424},[],{"type":18,"value":459}," be in the\n",{"type":13,"tag":34,"props":461,"children":463},{"className":462},[],[464],{"type":18,"value":465},"VK_TIME_DOMAIN_DEVICE_KHR",{"type":13,"tag":14,"props":467,"children":468},{},[469,475,477,480],{"type":13,"tag":351,"props":470,"children":472},{"href":471},"/man/VkTimeDomainKHR#VkTimeDomainKHR",[473],{"type":18,"value":474},"time domain",{"type":18,"value":476},".\nIf an overflow occurs, the timestamp value ",{"type":13,"tag":422,"props":478,"children":479},{"type":424},[],{"type":18,"value":481}," wrap back to zero.",{"type":13,"tag":386,"props":483,"children":484},{},[485],{"type":13,"tag":14,"props":486,"children":487},{},[488,490,494,495,499],{"type":18,"value":489},"Comparisons between timestamps should be done between timestamps where they\nare guaranteed to not decrease.\nFor example, subtracting an older timestamp from a newer one to determine\nthe execution time of a sequence of commands is only a reliable measurement\nif the two timestamp writes were performed in the same\nsubmission, or if the writes were performed on the same logical device and\n",{"type":13,"tag":351,"props":491,"children":492},{"href":430},[493],{"type":18,"value":433},{"type":18,"value":435},{"type":13,"tag":351,"props":496,"children":497},{"href":438},[498],{"type":18,"value":441},{"type":18,"value":500},"\nis enabled.",{"type":13,"tag":14,"props":502,"children":503},{},[504,506,511,513,518],{"type":18,"value":505},"If ",{"type":13,"tag":34,"props":507,"children":509},{"className":508},[],[510],{"type":18,"value":4},{"type":18,"value":512}," is called while executing a render pass\ninstance that has multiview enabled, the timestamp uses N consecutive\nquery indices in the query pool (starting at ",{"type":13,"tag":34,"props":514,"children":516},{"className":515},[],[517],{"type":18,"value":330},{"type":18,"value":519},") where N is\nthe number of bits set in the view mask of the subpass the command is\nexecuted in.\nThe resulting query values are determined by an implementation-dependent\nchoice of one of the following behaviors:",{"type":13,"tag":288,"props":521,"children":522},{},[523,528],{"type":13,"tag":292,"props":524,"children":525},{},[526],{"type":18,"value":527},"The first query is a timestamp value and (if more than one bit is set in\nthe view mask) zero is written to the remaining queries.\nIf two timestamps are written in the same subpass, the sum of the\nexecution time of all views between those commands is the difference\nbetween the first query written by each command.",{"type":13,"tag":292,"props":529,"children":530},{},[531,533,537],{"type":18,"value":532},"All N queries are timestamp values.\nIf two timestamps are written in the same subpass, the sum of the\nexecution time of all views between those commands is the sum of the\ndifference between corresponding queries written by each command.\nThe difference between corresponding queries ",{"type":13,"tag":422,"props":534,"children":536},{"type":535},"may",[],{"type":18,"value":538}," be the execution time\nof a single view.",{"type":13,"tag":14,"props":540,"children":541},{},[542,544,548],{"type":18,"value":543},"In either case, the application ",{"type":13,"tag":422,"props":545,"children":547},{"type":546},"can",[],{"type":18,"value":549}," sum the differences between all N\nqueries to determine the total execution time.",{"type":13,"tag":551,"props":552,"children":554},"validity-group",{"name":553},"Valid Usage",[555,595,639,675,710,745,781,816,863,898,933,979,1005,1023,1048,1080,1100,1123,1143],{"type":13,"tag":556,"props":557,"children":559},"validity-field",{"name":558},"VUID-vkCmdWriteTimestamp2-stage-03929",[560],{"type":13,"tag":14,"props":561,"children":562},{},[563,565,575,577,582,584,587,589],{"type":18,"value":564},"If the ",{"type":13,"tag":351,"props":566,"children":568},{"href":567},"/man/VkPhysicalDeviceFeatures#features-geometryShader",[569],{"type":13,"tag":34,"props":570,"children":572},{"className":571},[],[573],{"type":18,"value":574},"geometryShader",{"type":18,"value":576}," feature is not\nenabled, ",{"type":13,"tag":34,"props":578,"children":580},{"className":579},[],[581],{"type":18,"value":94},{"type":18,"value":583}," ",{"type":13,"tag":422,"props":585,"children":586},{"type":424},[],{"type":18,"value":588}," not contain\n",{"type":13,"tag":34,"props":590,"children":592},{"className":591},[],[593],{"type":18,"value":594},"VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT",{"type":13,"tag":556,"props":596,"children":598},{"name":597},"VUID-vkCmdWriteTimestamp2-stage-03930",[599],{"type":13,"tag":14,"props":600,"children":601},{},[602,603,613,615,620,621,624,625,631,633],{"type":18,"value":564},{"type":13,"tag":351,"props":604,"children":606},{"href":605},"/man/VkPhysicalDeviceFeatures#features-tessellationShader",[607],{"type":13,"tag":34,"props":608,"children":610},{"className":609},[],[611],{"type":18,"value":612},"tessellationShader",{"type":18,"value":614}," feature\nis not enabled, ",{"type":13,"tag":34,"props":616,"children":618},{"className":617},[],[619],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":622,"children":623},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":626,"children":628},{"className":627},[],[629],{"type":18,"value":630},"VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT",{"type":18,"value":632}," or\n",{"type":13,"tag":34,"props":634,"children":636},{"className":635},[],[637],{"type":18,"value":638},"VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT",{"type":13,"tag":556,"props":640,"children":642},{"name":641},"VUID-vkCmdWriteTimestamp2-stage-03931",[643],{"type":13,"tag":14,"props":644,"children":645},{},[646,647,657,659,664,665,668,669],{"type":18,"value":564},{"type":13,"tag":351,"props":648,"children":650},{"href":649},"/man/VkPhysicalDeviceConditionalRenderingFeaturesEXT#features-conditionalRendering",[651],{"type":13,"tag":34,"props":652,"children":654},{"className":653},[],[655],{"type":18,"value":656},"conditionalRendering",{"type":18,"value":658},"\nfeature is not enabled, ",{"type":13,"tag":34,"props":660,"children":662},{"className":661},[],[663],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":666,"children":667},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":670,"children":672},{"className":671},[],[673],{"type":18,"value":674},"VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT",{"type":13,"tag":556,"props":676,"children":678},{"name":677},"VUID-vkCmdWriteTimestamp2-stage-03932",[679],{"type":13,"tag":14,"props":680,"children":681},{},[682,683,693,694,699,700,703,704],{"type":18,"value":564},{"type":13,"tag":351,"props":684,"children":686},{"href":685},"/man/VkPhysicalDeviceFragmentDensityMapFeaturesEXT#features-fragmentDensityMap",[687],{"type":13,"tag":34,"props":688,"children":690},{"className":689},[],[691],{"type":18,"value":692},"fragmentDensityMap",{"type":18,"value":614},{"type":13,"tag":34,"props":695,"children":697},{"className":696},[],[698],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":701,"children":702},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":705,"children":707},{"className":706},[],[708],{"type":18,"value":709},"VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT",{"type":13,"tag":556,"props":711,"children":713},{"name":712},"VUID-vkCmdWriteTimestamp2-stage-03933",[714],{"type":13,"tag":14,"props":715,"children":716},{},[717,718,728,729,734,735,738,739],{"type":18,"value":564},{"type":13,"tag":351,"props":719,"children":721},{"href":720},"/man/VkPhysicalDeviceTransformFeedbackFeaturesEXT#features-transformFeedback",[722],{"type":13,"tag":34,"props":723,"children":725},{"className":724},[],[726],{"type":18,"value":727},"transformFeedback",{"type":18,"value":614},{"type":13,"tag":34,"props":730,"children":732},{"className":731},[],[733],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":736,"children":737},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":740,"children":742},{"className":741},[],[743],{"type":18,"value":744},"VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT",{"type":13,"tag":556,"props":746,"children":748},{"name":747},"VUID-vkCmdWriteTimestamp2-stage-03934",[749],{"type":13,"tag":14,"props":750,"children":751},{},[752,753,763,765,770,771,774,775],{"type":18,"value":564},{"type":13,"tag":351,"props":754,"children":756},{"href":755},"/man/VkPhysicalDeviceMeshShaderFeaturesEXT#features-meshShader",[757],{"type":13,"tag":34,"props":758,"children":760},{"className":759},[],[761],{"type":18,"value":762},"meshShader",{"type":18,"value":764}," feature is not enabled,\n",{"type":13,"tag":34,"props":766,"children":768},{"className":767},[],[769],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":772,"children":773},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":776,"children":778},{"className":777},[],[779],{"type":18,"value":780},"VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT",{"type":13,"tag":556,"props":782,"children":784},{"name":783},"VUID-vkCmdWriteTimestamp2-stage-03935",[785],{"type":13,"tag":14,"props":786,"children":787},{},[788,789,799,800,805,806,809,810],{"type":18,"value":564},{"type":13,"tag":351,"props":790,"children":792},{"href":791},"/man/VkPhysicalDeviceMeshShaderFeaturesEXT#features-taskShader",[793],{"type":13,"tag":34,"props":794,"children":796},{"className":795},[],[797],{"type":18,"value":798},"taskShader",{"type":18,"value":764},{"type":13,"tag":34,"props":801,"children":803},{"className":802},[],[804],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":807,"children":808},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":811,"children":813},{"className":812},[],[814],{"type":18,"value":815},"VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT",{"type":13,"tag":556,"props":817,"children":819},{"name":818},"VUID-vkCmdWriteTimestamp2-stage-07316",[820],{"type":13,"tag":14,"props":821,"children":822},{},[823,825,835,836,846,848,853,856,857],{"type":18,"value":824},"If neither the ",{"type":13,"tag":351,"props":826,"children":828},{"href":827},"/man/VkPhysicalDeviceShadingRateImageFeaturesNV#features-shadingRateImage",[829],{"type":13,"tag":34,"props":830,"children":832},{"className":831},[],[833],{"type":18,"value":834},"shadingRateImage",{"type":18,"value":632},{"type":13,"tag":351,"props":837,"children":839},{"href":838},"/man/VkPhysicalDeviceFragmentShadingRateFeaturesKHR#features-attachmentFragmentShadingRate",[840],{"type":13,"tag":34,"props":841,"children":843},{"className":842},[],[844],{"type":18,"value":845},"attachmentFragmentShadingRate",{"type":18,"value":847}," are enabled, ",{"type":13,"tag":34,"props":849,"children":851},{"className":850},[],[852],{"type":18,"value":94},{"type":13,"tag":422,"props":854,"children":855},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":858,"children":860},{"className":859},[],[861],{"type":18,"value":862},"VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR",{"type":13,"tag":556,"props":864,"children":866},{"name":865},"VUID-vkCmdWriteTimestamp2-stage-04957",[867],{"type":13,"tag":14,"props":868,"children":869},{},[870,871,881,882,887,888,891,892],{"type":18,"value":564},{"type":13,"tag":351,"props":872,"children":874},{"href":873},"/man/VkPhysicalDeviceSubpassShadingFeaturesHUAWEI#features-subpassShading",[875],{"type":13,"tag":34,"props":876,"children":878},{"className":877},[],[879],{"type":18,"value":880},"subpassShading",{"type":18,"value":576},{"type":13,"tag":34,"props":883,"children":885},{"className":884},[],[886],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":889,"children":890},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":893,"children":895},{"className":894},[],[896],{"type":18,"value":897},"VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI",{"type":13,"tag":556,"props":899,"children":901},{"name":900},"VUID-vkCmdWriteTimestamp2-stage-04995",[902],{"type":13,"tag":14,"props":903,"children":904},{},[905,906,916,917,922,923,926,927],{"type":18,"value":564},{"type":13,"tag":351,"props":907,"children":909},{"href":908},"/man/VkPhysicalDeviceInvocationMaskFeaturesHUAWEI#features-invocationMask",[910],{"type":13,"tag":34,"props":911,"children":913},{"className":912},[],[914],{"type":18,"value":915},"invocationMask",{"type":18,"value":576},{"type":13,"tag":34,"props":918,"children":920},{"className":919},[],[921],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":924,"children":925},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":928,"children":930},{"className":929},[],[931],{"type":18,"value":932},"VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI",{"type":13,"tag":556,"props":934,"children":936},{"name":935},"VUID-vkCmdWriteTimestamp2-stage-07946",[937],{"type":13,"tag":14,"props":938,"children":939},{},[940,941,947,949,961,963,968,969,972,973],{"type":18,"value":824},{"type":13,"tag":351,"props":942,"children":944},{"href":943},"/extensions/VK_NV_ray_tracing",[945],{"type":18,"value":946},"VK_NV_ray_tracing",{"type":18,"value":948}," extension or\n",{"type":13,"tag":351,"props":950,"children":952},{"href":951},"/man/VkPhysicalDeviceRayTracingPipelineFeaturesKHR#features-rayTracingPipeline",[953,959],{"type":13,"tag":34,"props":954,"children":956},{"className":955},[],[957],{"type":18,"value":958},"rayTracingPipeline",{"type":18,"value":960}," feature",{"type":18,"value":962}," are\nenabled, ",{"type":13,"tag":34,"props":964,"children":966},{"className":965},[],[967],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":970,"children":971},{"type":424},[],{"type":18,"value":588},{"type":13,"tag":34,"props":974,"children":976},{"className":975},[],[977],{"type":18,"value":978},"VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR",{"type":13,"tag":556,"props":980,"children":982},{"name":981},"VUID-vkCmdWriteTimestamp2-synchronization2-03858",[983],{"type":13,"tag":14,"props":984,"children":985},{},[986,988,998,1000,1003],{"type":18,"value":987},"The ",{"type":13,"tag":351,"props":989,"children":991},{"href":990},"/man/VkPhysicalDeviceSynchronization2Features#features-synchronization2",[992],{"type":13,"tag":34,"props":993,"children":995},{"className":994},[],[996],{"type":18,"value":997},"synchronization2",{"type":18,"value":999}," feature ",{"type":13,"tag":422,"props":1001,"children":1002},{"type":424},[],{"type":18,"value":1004},"\nbe enabled",{"type":13,"tag":556,"props":1006,"children":1008},{"name":1007},"VUID-vkCmdWriteTimestamp2-stage-03859",[1009],{"type":13,"tag":14,"props":1010,"children":1011},{},[1012,1017,1018,1021],{"type":13,"tag":34,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":1019,"children":1020},{"type":424},[],{"type":18,"value":1022}," only include a single pipeline stage",{"type":13,"tag":556,"props":1024,"children":1026},{"name":1025},"VUID-vkCmdWriteTimestamp2-stage-03860",[1027],{"type":13,"tag":14,"props":1028,"children":1029},{},[1030,1035,1036,1039,1041,1046],{"type":13,"tag":34,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":1037,"children":1038},{"type":424},[],{"type":18,"value":1040}," only include stages valid for the queue family that\nwas used to create the command pool that ",{"type":13,"tag":34,"props":1042,"children":1044},{"className":1043},[],[1045],{"type":18,"value":75},{"type":18,"value":1047}," was\nallocated from",{"type":13,"tag":556,"props":1049,"children":1051},{"name":1050},"VUID-vkCmdWriteTimestamp2-queryPool-03861",[1052],{"type":13,"tag":14,"props":1053,"children":1054},{},[1055,1060,1061,1064,1066,1072,1074],{"type":13,"tag":34,"props":1056,"children":1058},{"className":1057},[],[1059],{"type":18,"value":112},{"type":18,"value":583},{"type":13,"tag":422,"props":1062,"children":1063},{"type":424},[],{"type":18,"value":1065}," have been created with a ",{"type":13,"tag":34,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":18,"value":1071},"queryType",{"type":18,"value":1073}," of\n",{"type":13,"tag":34,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":18,"value":1079},"VK_QUERY_TYPE_TIMESTAMP",{"type":13,"tag":556,"props":1081,"children":1083},{"name":1082},"VUID-vkCmdWriteTimestamp2-timestampValidBits-03863",[1084],{"type":13,"tag":14,"props":1085,"children":1086},{},[1087,1089,1092,1094],{"type":18,"value":1088},"The command pool’s queue family ",{"type":13,"tag":422,"props":1090,"children":1091},{"type":424},[],{"type":18,"value":1093}," support a non-zero\n",{"type":13,"tag":34,"props":1095,"children":1097},{"className":1096},[],[1098],{"type":18,"value":1099},"timestampValidBits",{"type":13,"tag":556,"props":1101,"children":1103},{"name":1102},"VUID-vkCmdWriteTimestamp2-query-04903",[1104],{"type":13,"tag":14,"props":1105,"children":1106},{},[1107,1112,1113,1116,1118],{"type":13,"tag":34,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":18,"value":330},{"type":18,"value":583},{"type":13,"tag":422,"props":1114,"children":1115},{"type":424},[],{"type":18,"value":1117}," be less than the number of queries in ",{"type":13,"tag":34,"props":1119,"children":1121},{"className":1120},[],[1122],{"type":18,"value":112},{"type":13,"tag":556,"props":1124,"children":1126},{"name":1125},"VUID-vkCmdWriteTimestamp2-None-03864",[1127],{"type":13,"tag":14,"props":1128,"children":1129},{},[1130,1132,1135,1137],{"type":18,"value":1131},"All queries used by the command ",{"type":13,"tag":422,"props":1133,"children":1134},{"type":424},[],{"type":18,"value":1136}," be ",{"type":13,"tag":1138,"props":1139,"children":1140},"em",{},[1141],{"type":18,"value":1142},"unavailable",{"type":13,"tag":556,"props":1144,"children":1146},{"name":1145},"VUID-vkCmdWriteTimestamp2-query-03865",[1147],{"type":13,"tag":14,"props":1148,"children":1149},{},[1150,1151,1156,1158,1163,1165,1168,1170],{"type":18,"value":505},{"type":13,"tag":34,"props":1152,"children":1154},{"className":1153},[],[1155],{"type":18,"value":4},{"type":18,"value":1157}," is called within a render pass instance,\nthe sum of ",{"type":13,"tag":34,"props":1159,"children":1161},{"className":1160},[],[1162],{"type":18,"value":330},{"type":18,"value":1164}," and the number of bits set in the current\nsubpass’s view mask ",{"type":13,"tag":422,"props":1166,"children":1167},{"type":424},[],{"type":18,"value":1169}," be less than or equal to the number of queries\nin ",{"type":13,"tag":34,"props":1171,"children":1173},{"className":1172},[],[1174],{"type":18,"value":112},{"type":13,"tag":551,"props":1176,"children":1178},{"name":1177},"Valid Usage (Implicit)",[1179,1205,1231,1255,1279,1307],{"type":13,"tag":556,"props":1180,"children":1182},{"name":1181},"VUID-vkCmdWriteTimestamp2-commandBuffer-parameter",[1183],{"type":13,"tag":14,"props":1184,"children":1185},{},[1186,1191,1192,1195,1197,1203],{"type":13,"tag":34,"props":1187,"children":1189},{"className":1188},[],[1190],{"type":18,"value":75},{"type":18,"value":583},{"type":13,"tag":422,"props":1193,"children":1194},{"type":424},[],{"type":18,"value":1196}," be a valid ",{"type":13,"tag":351,"props":1198,"children":1200},{"href":1199},"/man/VkCommandBuffer",[1201],{"type":18,"value":1202},"VkCommandBuffer",{"type":18,"value":1204}," handle",{"type":13,"tag":556,"props":1206,"children":1208},{"name":1207},"VUID-vkCmdWriteTimestamp2-stage-parameter",[1209],{"type":13,"tag":14,"props":1210,"children":1211},{},[1212,1217,1218,1221,1223,1229],{"type":13,"tag":34,"props":1213,"children":1215},{"className":1214},[],[1216],{"type":18,"value":94},{"type":18,"value":583},{"type":13,"tag":422,"props":1219,"children":1220},{"type":424},[],{"type":18,"value":1222}," be a valid combination of ",{"type":13,"tag":351,"props":1224,"children":1226},{"href":1225},"/man/VkPipelineStageFlagBits2",[1227],{"type":18,"value":1228},"VkPipelineStageFlagBits2",{"type":18,"value":1230}," values",{"type":13,"tag":556,"props":1232,"children":1234},{"name":1233},"VUID-vkCmdWriteTimestamp2-queryPool-parameter",[1235],{"type":13,"tag":14,"props":1236,"children":1237},{},[1238,1243,1244,1247,1248,1254],{"type":13,"tag":34,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":18,"value":112},{"type":18,"value":583},{"type":13,"tag":422,"props":1245,"children":1246},{"type":424},[],{"type":18,"value":1196},{"type":13,"tag":351,"props":1249,"children":1251},{"href":1250},"/man/VkQueryPool",[1252],{"type":18,"value":1253},"VkQueryPool",{"type":18,"value":1204},{"type":13,"tag":556,"props":1256,"children":1258},{"name":1257},"VUID-vkCmdWriteTimestamp2-commandBuffer-recording",[1259],{"type":13,"tag":14,"props":1260,"children":1261},{},[1262,1267,1268,1271,1273],{"type":13,"tag":34,"props":1263,"children":1265},{"className":1264},[],[1266],{"type":18,"value":75},{"type":18,"value":583},{"type":13,"tag":422,"props":1269,"children":1270},{"type":424},[],{"type":18,"value":1272}," be in the ",{"type":13,"tag":351,"props":1274,"children":1276},{"href":1275},"/chapters/commandbuffers#commandbuffers-lifecycle",[1277],{"type":18,"value":1278},"recording state",{"type":13,"tag":556,"props":1280,"children":1282},{"name":1281},"VUID-vkCmdWriteTimestamp2-commandBuffer-cmdpool",[1283],{"type":13,"tag":14,"props":1284,"children":1285},{},[1286,1287,1293,1295,1300,1302,1305],{"type":18,"value":987},{"type":13,"tag":34,"props":1288,"children":1290},{"className":1289},[],[1291],{"type":18,"value":1292},"VkCommandPool",{"type":18,"value":1294}," that ",{"type":13,"tag":34,"props":1296,"children":1298},{"className":1297},[],[1299],{"type":18,"value":75},{"type":18,"value":1301}," was allocated from ",{"type":13,"tag":422,"props":1303,"children":1304},{"type":424},[],{"type":18,"value":1306}," support transfer, graphics, compute, decode, or encode operations",{"type":13,"tag":556,"props":1308,"children":1310},{"name":1309},"VUID-vkCmdWriteTimestamp2-commonparent",[1311],{"type":13,"tag":14,"props":1312,"children":1313},{},[1314,1316,1321,1323,1328,1329,1332,1334],{"type":18,"value":1315},"Both of ",{"type":13,"tag":34,"props":1317,"children":1319},{"className":1318},[],[1320],{"type":18,"value":75},{"type":18,"value":1322},", and ",{"type":13,"tag":34,"props":1324,"children":1326},{"className":1325},[],[1327],{"type":18,"value":112},{"type":18,"value":583},{"type":13,"tag":422,"props":1330,"children":1331},{"type":424},[],{"type":18,"value":1333}," have been created, allocated, or retrieved from the same ",{"type":13,"tag":351,"props":1335,"children":1337},{"href":1336},"/man/VkDevice",[1338],{"type":18,"value":1339},"VkDevice",{"type":13,"tag":1341,"props":1342,"children":1344},"validity-box",{"name":1343},"Host Synchronization",[1345],{"type":13,"tag":288,"props":1346,"children":1347},{},[1348,1364],{"type":13,"tag":292,"props":1349,"children":1350},{},[1351,1353,1358,1359,1362],{"type":18,"value":1352},"Host access to ",{"type":13,"tag":34,"props":1354,"children":1356},{"className":1355},[],[1357],{"type":18,"value":75},{"type":18,"value":583},{"type":13,"tag":422,"props":1360,"children":1361},{"type":424},[],{"type":18,"value":1363}," be externally synchronized",{"type":13,"tag":292,"props":1365,"children":1366},{},[1367,1369,1374,1375,1380,1381,1384],{"type":18,"value":1368},"Host access to the ",{"type":13,"tag":34,"props":1370,"children":1372},{"className":1371},[],[1373],{"type":18,"value":1292},{"type":18,"value":1294},{"type":13,"tag":34,"props":1376,"children":1378},{"className":1377},[],[1379],{"type":18,"value":75},{"type":18,"value":1301},{"type":13,"tag":422,"props":1382,"children":1383},{"type":424},[],{"type":18,"value":1385}," be externally synchronized\n::",{"type":13,"tag":1387,"props":1388,"children":1389},"style",{},[1390],{"type":18,"value":1391},"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":1393},[],"markdown",1725732611591]