[{"data":1,"prerenderedAt":596},["ShallowReactive",2],{"I6ySA4fgaF":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":10,"supported_queue_types":11,"tasks":13,"type":15,"xrefs":16,"body":17,"_type":595,"_id":4},"vkCmdSetSampleLocationsEXT","Set sample locations dynamically for a command buffer","VK_EXT_sample_locations",[8,9],"primary","secondary","both",[12],"graphics",[14],"state","protos",[],{"type":18,"children":19,"toc":593},"root",[20,37,233,259,331,417,541,587],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25,28,35],{"type":26,"value":27},"text","To ",{"type":21,"tag":29,"props":30,"children":32},"a",{"href":31},"/chapters/pipelines#pipelines-dynamic-state",[33],{"type":26,"value":34},"dynamically set",{"type":26,"value":36}," the sample locations used\nfor rasterization, call:",{"type":21,"tag":38,"props":39,"children":40},"code-group",{},[41,127],{"type":21,"tag":42,"props":43,"children":49},"pre",{"className":44,"code":45,"filename":46,"language":47,"meta":48,"style":48},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdSetSampleLocationsEXT(\n VkCommandBuffer commandBuffer,\n const VkSampleLocationsInfoEXT* pSampleLocationsInfo);\n","C","c","",[50],{"type":21,"tag":51,"props":52,"children":53},"code",{"__ignoreMap":48},[54,78,98],{"type":21,"tag":55,"props":56,"children":59},"span",{"class":57,"line":58},"line",1,[60,66,72],{"type":21,"tag":55,"props":61,"children":63},{"style":62},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[64],{"type":26,"value":65},"void",{"type":21,"tag":55,"props":67,"children":69},{"style":68},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[70],{"type":26,"value":71}," vkCmdSetSampleLocationsEXT",{"type":21,"tag":55,"props":73,"children":75},{"style":74},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[76],{"type":26,"value":77},"(\n",{"type":21,"tag":55,"props":79,"children":81},{"class":57,"line":80},2,[82,87,93],{"type":21,"tag":55,"props":83,"children":84},{"style":74},[85],{"type":26,"value":86}," VkCommandBuffer ",{"type":21,"tag":55,"props":88,"children":90},{"style":89},"--shiki-default:#953800;--shiki-dark:#FFA657",[91],{"type":26,"value":92},"commandBuffer",{"type":21,"tag":55,"props":94,"children":95},{"style":74},[96],{"type":26,"value":97},",\n",{"type":21,"tag":55,"props":99,"children":101},{"class":57,"line":100},3,[102,107,112,117,122],{"type":21,"tag":55,"props":103,"children":104},{"style":62},[105],{"type":26,"value":106}," const",{"type":21,"tag":55,"props":108,"children":109},{"style":74},[110],{"type":26,"value":111}," VkSampleLocationsInfoEXT",{"type":21,"tag":55,"props":113,"children":114},{"style":62},[115],{"type":26,"value":116},"*",{"type":21,"tag":55,"props":118,"children":119},{"style":89},[120],{"type":26,"value":121}," pSampleLocationsInfo",{"type":21,"tag":55,"props":123,"children":124},{"style":74},[125],{"type":26,"value":126},");\n",{"type":21,"tag":42,"props":128,"children":133},{"className":129,"code":130,"filename":131,"language":132,"meta":48,"style":48},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_set_sample_locations_ext(\n command_buffer: vk::CommandBuffer,\n p_sample_locations_info: *const vk::SampleLocationsInfoEXT,\n);\n","Rust","rs",[134],{"type":21,"tag":51,"props":135,"children":136},{"__ignoreMap":48},[137,159,191,225],{"type":21,"tag":55,"props":138,"children":139},{"class":57,"line":58},[140,145,150,155],{"type":21,"tag":55,"props":141,"children":142},{"style":62},[143],{"type":26,"value":144},"pub",{"type":21,"tag":55,"props":146,"children":147},{"style":62},[148],{"type":26,"value":149}," fn",{"type":21,"tag":55,"props":151,"children":152},{"style":68},[153],{"type":26,"value":154}," cmd_set_sample_locations_ext",{"type":21,"tag":55,"props":156,"children":157},{"style":74},[158],{"type":26,"value":77},{"type":21,"tag":55,"props":160,"children":161},{"class":57,"line":80},[162,167,172,177,182,187],{"type":21,"tag":55,"props":163,"children":164},{"style":74},[165],{"type":26,"value":166}," command_buffer",{"type":21,"tag":55,"props":168,"children":169},{"style":62},[170],{"type":26,"value":171},":",{"type":21,"tag":55,"props":173,"children":174},{"style":89},[175],{"type":26,"value":176}," vk",{"type":21,"tag":55,"props":178,"children":179},{"style":62},[180],{"type":26,"value":181},"::",{"type":21,"tag":55,"props":183,"children":184},{"style":89},[185],{"type":26,"value":186},"CommandBuffer",{"type":21,"tag":55,"props":188,"children":189},{"style":74},[190],{"type":26,"value":97},{"type":21,"tag":55,"props":192,"children":193},{"class":57,"line":100},[194,199,203,208,212,216,221],{"type":21,"tag":55,"props":195,"children":196},{"style":74},[197],{"type":26,"value":198}," p_sample_locations_info",{"type":21,"tag":55,"props":200,"children":201},{"style":62},[202],{"type":26,"value":171},{"type":21,"tag":55,"props":204,"children":205},{"style":62},[206],{"type":26,"value":207}," *const",{"type":21,"tag":55,"props":209,"children":210},{"style":89},[211],{"type":26,"value":176},{"type":21,"tag":55,"props":213,"children":214},{"style":62},[215],{"type":26,"value":181},{"type":21,"tag":55,"props":217,"children":218},{"style":89},[219],{"type":26,"value":220},"SampleLocationsInfoEXT",{"type":21,"tag":55,"props":222,"children":223},{"style":74},[224],{"type":26,"value":97},{"type":21,"tag":55,"props":226,"children":228},{"class":57,"line":227},4,[229],{"type":21,"tag":55,"props":230,"children":231},{"style":74},[232],{"type":26,"value":126},{"type":21,"tag":234,"props":235,"children":236},"ul",{},[237,248],{"type":21,"tag":238,"props":239,"children":240},"li",{},[241,246],{"type":21,"tag":51,"props":242,"children":244},{"className":243},[],[245],{"type":26,"value":92},{"type":26,"value":247}," is the command buffer into which the command will be\nrecorded.",{"type":21,"tag":238,"props":249,"children":250},{},[251,257],{"type":21,"tag":51,"props":252,"children":254},{"className":253},[],[255],{"type":26,"value":256},"pSampleLocationsInfo",{"type":26,"value":258}," is the sample locations state to set.",{"type":21,"tag":22,"props":260,"children":261},{},[262,264,270,272,278,280,286,287,293,295,301,302,308,310,316,318,322,323,329],{"type":26,"value":263},"This command sets the custom sample locations for subsequent drawing\ncommands\nwhen drawing using ",{"type":21,"tag":29,"props":265,"children":267},{"href":266},"/chapters/shaders#shaders-objects",[268],{"type":26,"value":269},"shader objects",{"type":26,"value":271},", or\nwhen the graphics pipeline is created with\n",{"type":21,"tag":51,"props":273,"children":275},{"className":274},[],[276],{"type":26,"value":277},"VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT",{"type":26,"value":279}," set in\n",{"type":21,"tag":29,"props":281,"children":283},{"href":282},"/man/VkPipelineDynamicStateCreateInfo",[284],{"type":26,"value":285},"VkPipelineDynamicStateCreateInfo",{"type":26,"value":181},{"type":21,"tag":51,"props":288,"children":290},{"className":289},[],[291],{"type":26,"value":292},"pDynamicStates",{"type":26,"value":294},", and when the\n",{"type":21,"tag":29,"props":296,"children":298},{"href":297},"/man/VkPipelineSampleLocationsStateCreateInfoEXT",[299],{"type":26,"value":300},"VkPipelineSampleLocationsStateCreateInfoEXT",{"type":26,"value":181},{"type":21,"tag":51,"props":303,"children":305},{"className":304},[],[306],{"type":26,"value":307},"sampleLocationsEnable",{"type":26,"value":309},"\nproperty of the bound graphics pipeline is ",{"type":21,"tag":51,"props":311,"children":313},{"className":312},[],[314],{"type":26,"value":315},"VK_TRUE",{"type":26,"value":317},".\nOtherwise, this state is specified by the\n",{"type":21,"tag":29,"props":319,"children":320},{"href":297},[321],{"type":26,"value":300},{"type":26,"value":181},{"type":21,"tag":51,"props":324,"children":326},{"className":325},[],[327],{"type":26,"value":328},"sampleLocationsInfo",{"type":26,"value":330},"\nvalues used to create the currently active pipeline.",{"type":21,"tag":332,"props":333,"children":335},"validity-group",{"name":334},"Valid Usage",[336],{"type":21,"tag":337,"props":338,"children":340},"validity-field",{"name":339},"VUID-vkCmdSetSampleLocationsEXT-variableSampleLocations-01530",[341],{"type":21,"tag":22,"props":342,"children":343},{},[344,346,352,353,359,361,367,369,374,376,382,384,390,392,398,400,405,407,410,412],{"type":26,"value":345},"If\n",{"type":21,"tag":29,"props":347,"children":349},{"href":348},"/man/VkPhysicalDeviceSampleLocationsPropertiesEXT",[350],{"type":26,"value":351},"VkPhysicalDeviceSampleLocationsPropertiesEXT",{"type":26,"value":181},{"type":21,"tag":51,"props":354,"children":356},{"className":355},[],[357],{"type":26,"value":358},"variableSampleLocations",{"type":26,"value":360},"\nis ",{"type":21,"tag":51,"props":362,"children":364},{"className":363},[],[365],{"type":26,"value":366},"VK_FALSE",{"type":26,"value":368}," then the current render pass ",{"type":21,"tag":370,"props":371,"children":373},"normative",{"type":372},"must",[],{"type":26,"value":375}," have been begun by\nspecifying a ",{"type":21,"tag":29,"props":377,"children":379},{"href":378},"/man/VkRenderPassSampleLocationsBeginInfoEXT",[380],{"type":26,"value":381},"VkRenderPassSampleLocationsBeginInfoEXT",{"type":26,"value":383}," structure\nwhose ",{"type":21,"tag":51,"props":385,"children":387},{"className":386},[],[388],{"type":26,"value":389},"pPostSubpassSampleLocations",{"type":26,"value":391}," member contains an element with\na ",{"type":21,"tag":51,"props":393,"children":395},{"className":394},[],[396],{"type":26,"value":397},"subpassIndex",{"type":26,"value":399}," matching the current subpass index and the\n",{"type":21,"tag":51,"props":401,"children":403},{"className":402},[],[404],{"type":26,"value":328},{"type":26,"value":406}," member of that element ",{"type":21,"tag":370,"props":408,"children":409},{"type":372},[],{"type":26,"value":411}," match the sample\nlocations state pointed to by ",{"type":21,"tag":51,"props":413,"children":415},{"className":414},[],[416],{"type":26,"value":256},{"type":21,"tag":332,"props":418,"children":420},{"name":419},"Valid Usage (Implicit)",[421,448,474,498,527],{"type":21,"tag":337,"props":422,"children":424},{"name":423},"VUID-vkCmdSetSampleLocationsEXT-commandBuffer-parameter",[425],{"type":21,"tag":22,"props":426,"children":427},{},[428,433,435,438,440,446],{"type":21,"tag":51,"props":429,"children":431},{"className":430},[],[432],{"type":26,"value":92},{"type":26,"value":434}," ",{"type":21,"tag":370,"props":436,"children":437},{"type":372},[],{"type":26,"value":439}," be a valid ",{"type":21,"tag":29,"props":441,"children":443},{"href":442},"/man/VkCommandBuffer",[444],{"type":26,"value":445},"VkCommandBuffer",{"type":26,"value":447}," handle",{"type":21,"tag":337,"props":449,"children":451},{"name":450},"VUID-vkCmdSetSampleLocationsEXT-pSampleLocationsInfo-parameter",[452],{"type":21,"tag":22,"props":453,"children":454},{},[455,460,461,464,466,472],{"type":21,"tag":51,"props":456,"children":458},{"className":457},[],[459],{"type":26,"value":256},{"type":26,"value":434},{"type":21,"tag":370,"props":462,"children":463},{"type":372},[],{"type":26,"value":465}," be a valid pointer to a valid ",{"type":21,"tag":29,"props":467,"children":469},{"href":468},"/man/VkSampleLocationsInfoEXT",[470],{"type":26,"value":471},"VkSampleLocationsInfoEXT",{"type":26,"value":473}," structure",{"type":21,"tag":337,"props":475,"children":477},{"name":476},"VUID-vkCmdSetSampleLocationsEXT-commandBuffer-recording",[478],{"type":21,"tag":22,"props":479,"children":480},{},[481,486,487,490,492],{"type":21,"tag":51,"props":482,"children":484},{"className":483},[],[485],{"type":26,"value":92},{"type":26,"value":434},{"type":21,"tag":370,"props":488,"children":489},{"type":372},[],{"type":26,"value":491}," be in the ",{"type":21,"tag":29,"props":493,"children":495},{"href":494},"/chapters/commandbuffers#commandbuffers-lifecycle",[496],{"type":26,"value":497},"recording state",{"type":21,"tag":337,"props":499,"children":501},{"name":500},"VUID-vkCmdSetSampleLocationsEXT-commandBuffer-cmdpool",[502],{"type":21,"tag":22,"props":503,"children":504},{},[505,507,513,515,520,522,525],{"type":26,"value":506},"The ",{"type":21,"tag":51,"props":508,"children":510},{"className":509},[],[511],{"type":26,"value":512},"VkCommandPool",{"type":26,"value":514}," that ",{"type":21,"tag":51,"props":516,"children":518},{"className":517},[],[519],{"type":26,"value":92},{"type":26,"value":521}," was allocated from ",{"type":21,"tag":370,"props":523,"children":524},{"type":372},[],{"type":26,"value":526}," support graphics operations",{"type":21,"tag":337,"props":528,"children":530},{"name":529},"VUID-vkCmdSetSampleLocationsEXT-videocoding",[531],{"type":21,"tag":22,"props":532,"children":533},{},[534,536,539],{"type":26,"value":535},"This command ",{"type":21,"tag":370,"props":537,"children":538},{"type":372},[],{"type":26,"value":540}," only be called outside of a video coding scope",{"type":21,"tag":542,"props":543,"children":545},"validity-box",{"name":544},"Host Synchronization",[546],{"type":21,"tag":234,"props":547,"children":548},{},[549,565],{"type":21,"tag":238,"props":550,"children":551},{},[552,554,559,560,563],{"type":26,"value":553},"Host access to ",{"type":21,"tag":51,"props":555,"children":557},{"className":556},[],[558],{"type":26,"value":92},{"type":26,"value":434},{"type":21,"tag":370,"props":561,"children":562},{"type":372},[],{"type":26,"value":564}," be externally synchronized",{"type":21,"tag":238,"props":566,"children":567},{},[568,570,575,576,581,582,585],{"type":26,"value":569},"Host access to the ",{"type":21,"tag":51,"props":571,"children":573},{"className":572},[],[574],{"type":26,"value":512},{"type":26,"value":514},{"type":21,"tag":51,"props":577,"children":579},{"className":578},[],[580],{"type":26,"value":92},{"type":26,"value":521},{"type":21,"tag":370,"props":583,"children":584},{"type":372},[],{"type":26,"value":586}," be externally synchronized\n::",{"type":21,"tag":588,"props":589,"children":590},"style",{},[591],{"type":26,"value":592},"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":48,"searchDepth":80,"depth":80,"links":594},[],"markdown",1729612506292]