[{"data":1,"prerenderedAt":763},["ShallowReactive",2],{"UzDegbnI5J":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":762,"_id":4},"VkRenderPassSampleLocationsBeginInfoEXT","Structure specifying sample locations to use for the layout transition of custom sample locations compatible depth/stencil attachments","VK_EXT_sample_locations","structs",[],{"type":10,"children":11,"toc":760},"root",[12,65,77,428,635,754],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,27,29,34,36,40,42,47,49,55,57,63],{"type":18,"value":19},"text","The image layout of the depth aspect of a depth/stencil attachment referring\nto an image created with\n",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":26},"VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT",{"type":18,"value":28}," is dependent\non the last sample locations used to render to the image subresource, thus\npreserving the contents of such depth/stencil attachments across subpass\nboundaries requires the application to specify these sample locations\nwhenever a layout transition of the attachment ",{"type":13,"tag":30,"props":31,"children":33},"normative",{"type":32},"may",[],{"type":18,"value":35}," occur.\nThis information ",{"type":13,"tag":30,"props":37,"children":39},{"type":38},"can",[],{"type":18,"value":41}," be provided by adding a\n",{"type":13,"tag":21,"props":43,"children":45},{"className":44},[],[46],{"type":18,"value":4},{"type":18,"value":48}," structure to the ",{"type":13,"tag":21,"props":50,"children":52},{"className":51},[],[53],{"type":18,"value":54},"pNext",{"type":18,"value":56},"\nchain of ",{"type":13,"tag":21,"props":58,"children":60},{"className":59},[],[61],{"type":18,"value":62},"VkRenderPassBeginInfo",{"type":18,"value":64},".",{"type":13,"tag":14,"props":66,"children":67},{},[68,70,75],{"type":18,"value":69},"The ",{"type":13,"tag":21,"props":71,"children":73},{"className":72},[],[74],{"type":18,"value":4},{"type":18,"value":76}," structure is defined as:",{"type":13,"tag":78,"props":79,"children":80},"code-group",{},[81,225],{"type":13,"tag":82,"props":83,"children":89},"pre",{"className":84,"code":85,"filename":86,"language":87,"meta":88,"style":88},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkRenderPassSampleLocationsBeginInfoEXT {\n VkStructureType sType;\n const void* pNext;\n uint32_t attachmentInitialSampleLocationsCount;\n const VkAttachmentSampleLocationsEXT* pAttachmentInitialSampleLocations;\n uint32_t postSubpassSampleLocationsCount;\n const VkSubpassSampleLocationsEXT* pPostSubpassSampleLocations;\n} VkRenderPassSampleLocationsBeginInfoEXT;\n","C","c","",[90],{"type":13,"tag":21,"props":91,"children":92},{"__ignoreMap":88},[93,116,125,144,158,181,194,216],{"type":13,"tag":94,"props":95,"children":98},"span",{"class":96,"line":97},"line",1,[99,105,110],{"type":13,"tag":94,"props":100,"children":102},{"style":101},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[103],{"type":18,"value":104},"typedef",{"type":13,"tag":94,"props":106,"children":107},{"style":101},[108],{"type":18,"value":109}," struct",{"type":13,"tag":94,"props":111,"children":113},{"style":112},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[114],{"type":18,"value":115}," VkRenderPassSampleLocationsBeginInfoEXT {\n",{"type":13,"tag":94,"props":117,"children":119},{"class":96,"line":118},2,[120],{"type":13,"tag":94,"props":121,"children":122},{"style":112},[123],{"type":18,"value":124}," VkStructureType sType;\n",{"type":13,"tag":94,"props":126,"children":128},{"class":96,"line":127},3,[129,134,139],{"type":13,"tag":94,"props":130,"children":131},{"style":101},[132],{"type":18,"value":133}," const",{"type":13,"tag":94,"props":135,"children":136},{"style":101},[137],{"type":18,"value":138}," void*",{"type":13,"tag":94,"props":140,"children":141},{"style":112},[142],{"type":18,"value":143}," pNext;\n",{"type":13,"tag":94,"props":145,"children":147},{"class":96,"line":146},4,[148,153],{"type":13,"tag":94,"props":149,"children":150},{"style":101},[151],{"type":18,"value":152}," uint32_t",{"type":13,"tag":94,"props":154,"children":155},{"style":112},[156],{"type":18,"value":157}," attachmentInitialSampleLocationsCount;\n",{"type":13,"tag":94,"props":159,"children":161},{"class":96,"line":160},5,[162,166,171,176],{"type":13,"tag":94,"props":163,"children":164},{"style":101},[165],{"type":18,"value":133},{"type":13,"tag":94,"props":167,"children":168},{"style":112},[169],{"type":18,"value":170}," VkAttachmentSampleLocationsEXT",{"type":13,"tag":94,"props":172,"children":173},{"style":101},[174],{"type":18,"value":175},"*",{"type":13,"tag":94,"props":177,"children":178},{"style":112},[179],{"type":18,"value":180}," pAttachmentInitialSampleLocations;\n",{"type":13,"tag":94,"props":182,"children":184},{"class":96,"line":183},6,[185,189],{"type":13,"tag":94,"props":186,"children":187},{"style":101},[188],{"type":18,"value":152},{"type":13,"tag":94,"props":190,"children":191},{"style":112},[192],{"type":18,"value":193}," postSubpassSampleLocationsCount;\n",{"type":13,"tag":94,"props":195,"children":197},{"class":96,"line":196},7,[198,202,207,211],{"type":13,"tag":94,"props":199,"children":200},{"style":101},[201],{"type":18,"value":133},{"type":13,"tag":94,"props":203,"children":204},{"style":112},[205],{"type":18,"value":206}," VkSubpassSampleLocationsEXT",{"type":13,"tag":94,"props":208,"children":209},{"style":101},[210],{"type":18,"value":175},{"type":13,"tag":94,"props":212,"children":213},{"style":112},[214],{"type":18,"value":215}," pPostSubpassSampleLocations;\n",{"type":13,"tag":94,"props":217,"children":219},{"class":96,"line":218},8,[220],{"type":13,"tag":94,"props":221,"children":222},{"style":112},[223],{"type":18,"value":224},"} VkRenderPassSampleLocationsBeginInfoEXT;\n",{"type":13,"tag":82,"props":226,"children":231},{"className":227,"code":228,"filename":229,"language":230,"meta":88,"style":88},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct RenderPassSampleLocationsBeginInfoEXT {\n s_type: vk::StructureType,\n p_next: *const c_void,\n attachment_initial_sample_locations_count: u32,\n p_attachment_initial_sample_locations: *const vk::AttachmentSampleLocationsEXT,\n post_subpass_sample_locations_count: u32,\n p_post_subpass_sample_locations: *const vk::SubpassSampleLocationsEXT,\n}\n","Rust","rs",[232],{"type":13,"tag":21,"props":233,"children":234},{"__ignoreMap":88},[235,258,291,313,334,367,387,420],{"type":13,"tag":94,"props":236,"children":237},{"class":96,"line":97},[238,243,247,253],{"type":13,"tag":94,"props":239,"children":240},{"style":101},[241],{"type":18,"value":242},"pub",{"type":13,"tag":94,"props":244,"children":245},{"style":101},[246],{"type":18,"value":109},{"type":13,"tag":94,"props":248,"children":250},{"style":249},"--shiki-default:#953800;--shiki-dark:#FFA657",[251],{"type":18,"value":252}," RenderPassSampleLocationsBeginInfoEXT",{"type":13,"tag":94,"props":254,"children":255},{"style":112},[256],{"type":18,"value":257}," {\n",{"type":13,"tag":94,"props":259,"children":260},{"class":96,"line":118},[261,266,271,276,281,286],{"type":13,"tag":94,"props":262,"children":263},{"style":112},[264],{"type":18,"value":265}," s_type",{"type":13,"tag":94,"props":267,"children":268},{"style":101},[269],{"type":18,"value":270},":",{"type":13,"tag":94,"props":272,"children":273},{"style":249},[274],{"type":18,"value":275}," vk",{"type":13,"tag":94,"props":277,"children":278},{"style":101},[279],{"type":18,"value":280},"::",{"type":13,"tag":94,"props":282,"children":283},{"style":249},[284],{"type":18,"value":285},"StructureType",{"type":13,"tag":94,"props":287,"children":288},{"style":112},[289],{"type":18,"value":290},",\n",{"type":13,"tag":94,"props":292,"children":293},{"class":96,"line":127},[294,299,303,308],{"type":13,"tag":94,"props":295,"children":296},{"style":112},[297],{"type":18,"value":298}," p_next",{"type":13,"tag":94,"props":300,"children":301},{"style":101},[302],{"type":18,"value":270},{"type":13,"tag":94,"props":304,"children":305},{"style":101},[306],{"type":18,"value":307}," *const",{"type":13,"tag":94,"props":309,"children":310},{"style":112},[311],{"type":18,"value":312}," c_void,\n",{"type":13,"tag":94,"props":314,"children":315},{"class":96,"line":146},[316,321,325,330],{"type":13,"tag":94,"props":317,"children":318},{"style":112},[319],{"type":18,"value":320}," attachment_initial_sample_locations_count",{"type":13,"tag":94,"props":322,"children":323},{"style":101},[324],{"type":18,"value":270},{"type":13,"tag":94,"props":326,"children":327},{"style":249},[328],{"type":18,"value":329}," u32",{"type":13,"tag":94,"props":331,"children":332},{"style":112},[333],{"type":18,"value":290},{"type":13,"tag":94,"props":335,"children":336},{"class":96,"line":160},[337,342,346,350,354,358,363],{"type":13,"tag":94,"props":338,"children":339},{"style":112},[340],{"type":18,"value":341}," p_attachment_initial_sample_locations",{"type":13,"tag":94,"props":343,"children":344},{"style":101},[345],{"type":18,"value":270},{"type":13,"tag":94,"props":347,"children":348},{"style":101},[349],{"type":18,"value":307},{"type":13,"tag":94,"props":351,"children":352},{"style":249},[353],{"type":18,"value":275},{"type":13,"tag":94,"props":355,"children":356},{"style":101},[357],{"type":18,"value":280},{"type":13,"tag":94,"props":359,"children":360},{"style":249},[361],{"type":18,"value":362},"AttachmentSampleLocationsEXT",{"type":13,"tag":94,"props":364,"children":365},{"style":112},[366],{"type":18,"value":290},{"type":13,"tag":94,"props":368,"children":369},{"class":96,"line":183},[370,375,379,383],{"type":13,"tag":94,"props":371,"children":372},{"style":112},[373],{"type":18,"value":374}," post_subpass_sample_locations_count",{"type":13,"tag":94,"props":376,"children":377},{"style":101},[378],{"type":18,"value":270},{"type":13,"tag":94,"props":380,"children":381},{"style":249},[382],{"type":18,"value":329},{"type":13,"tag":94,"props":384,"children":385},{"style":112},[386],{"type":18,"value":290},{"type":13,"tag":94,"props":388,"children":389},{"class":96,"line":196},[390,395,399,403,407,411,416],{"type":13,"tag":94,"props":391,"children":392},{"style":112},[393],{"type":18,"value":394}," p_post_subpass_sample_locations",{"type":13,"tag":94,"props":396,"children":397},{"style":101},[398],{"type":18,"value":270},{"type":13,"tag":94,"props":400,"children":401},{"style":101},[402],{"type":18,"value":307},{"type":13,"tag":94,"props":404,"children":405},{"style":249},[406],{"type":18,"value":275},{"type":13,"tag":94,"props":408,"children":409},{"style":101},[410],{"type":18,"value":280},{"type":13,"tag":94,"props":412,"children":413},{"style":249},[414],{"type":18,"value":415},"SubpassSampleLocationsEXT",{"type":13,"tag":94,"props":417,"children":418},{"style":112},[419],{"type":18,"value":290},{"type":13,"tag":94,"props":421,"children":422},{"class":96,"line":218},[423],{"type":13,"tag":94,"props":424,"children":425},{"style":112},[426],{"type":18,"value":427},"}\n",{"type":13,"tag":429,"props":430,"children":431},"ul",{},[432,453,471,490,529,547],{"type":13,"tag":433,"props":434,"children":435},"li",{},[436,442,444,451],{"type":13,"tag":21,"props":437,"children":439},{"className":438},[],[440],{"type":18,"value":441},"sType",{"type":18,"value":443}," is a ",{"type":13,"tag":445,"props":446,"children":448},"a",{"href":447},"/man/VkStructureType",[449],{"type":18,"value":450},"VkStructureType",{"type":18,"value":452}," value identifying this structure.",{"type":13,"tag":433,"props":454,"children":455},{},[456,461,463,469],{"type":13,"tag":21,"props":457,"children":459},{"className":458},[],[460],{"type":18,"value":54},{"type":18,"value":462}," is ",{"type":13,"tag":21,"props":464,"children":466},{"className":465},[],[467],{"type":18,"value":468},"NULL",{"type":18,"value":470}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":433,"props":472,"children":473},{},[474,480,482,488],{"type":13,"tag":21,"props":475,"children":477},{"className":476},[],[478],{"type":18,"value":479},"attachmentInitialSampleLocationsCount",{"type":18,"value":481}," is the number of elements in\nthe ",{"type":13,"tag":21,"props":483,"children":485},{"className":484},[],[486],{"type":18,"value":487},"pAttachmentInitialSampleLocations",{"type":18,"value":489}," array.",{"type":13,"tag":433,"props":491,"children":492},{},[493,498,500,505,509,515,517,522,524,527],{"type":13,"tag":21,"props":494,"children":496},{"className":495},[],[497],{"type":18,"value":487},{"type":18,"value":499}," is a pointer to an array of\n",{"type":13,"tag":21,"props":501,"children":503},{"className":502},[],[504],{"type":18,"value":479},{"type":13,"tag":506,"props":507,"children":508},"br",{},[],{"type":13,"tag":445,"props":510,"children":512},{"href":511},"/man/VkAttachmentSampleLocationsEXT",[513],{"type":18,"value":514},"VkAttachmentSampleLocationsEXT",{"type":18,"value":516}," structures specifying the\nattachment indices and their corresponding sample location state.\nEach element of ",{"type":13,"tag":21,"props":518,"children":520},{"className":519},[],[521],{"type":18,"value":487},{"type":18,"value":523}," ",{"type":13,"tag":30,"props":525,"children":526},{"type":38},[],{"type":18,"value":528}," specify the\nsample location state to use in the automatic layout transition\nperformed to transition a depth/stencil attachment from the initial\nlayout of the attachment to the image layout specified for the\nattachment in the first subpass using it.",{"type":13,"tag":433,"props":530,"children":531},{},[532,538,540,546],{"type":13,"tag":21,"props":533,"children":535},{"className":534},[],[536],{"type":18,"value":537},"postSubpassSampleLocationsCount",{"type":18,"value":539}," is the number of elements in the\n",{"type":13,"tag":21,"props":541,"children":543},{"className":542},[],[544],{"type":18,"value":545},"pPostSubpassSampleLocations",{"type":18,"value":489},{"type":13,"tag":433,"props":548,"children":549},{},[550,555,556,561,562,568,570,575,576,579,581,587,588,594,596,602,604,609,613,615,620,621,627,629,634],{"type":13,"tag":21,"props":551,"children":553},{"className":552},[],[554],{"type":18,"value":545},{"type":18,"value":499},{"type":13,"tag":21,"props":557,"children":559},{"className":558},[],[560],{"type":18,"value":537},{"type":18,"value":523},{"type":13,"tag":445,"props":563,"children":565},{"href":564},"/man/VkSubpassSampleLocationsEXT",[566],{"type":18,"value":567},"VkSubpassSampleLocationsEXT",{"type":18,"value":569},"\nstructures specifying the subpass indices and their corresponding sample\nlocation state.\nEach element of ",{"type":13,"tag":21,"props":571,"children":573},{"className":572},[],[574],{"type":18,"value":545},{"type":18,"value":523},{"type":13,"tag":30,"props":577,"children":578},{"type":38},[],{"type":18,"value":580}," specify the\nsample location state to use in the automatic layout transition\nperformed to transition the depth/stencil attachment used by the\nspecified subpass to the image layout specified in a dependent subpass\nor to the final layout of the attachment in case the specified subpass\nis the last subpass using that attachment.\nIn addition, if\n",{"type":13,"tag":445,"props":582,"children":584},{"href":583},"/man/VkPhysicalDeviceSampleLocationsPropertiesEXT",[585],{"type":18,"value":586},"VkPhysicalDeviceSampleLocationsPropertiesEXT",{"type":18,"value":280},{"type":13,"tag":21,"props":589,"children":591},{"className":590},[],[592],{"type":18,"value":593},"variableSampleLocations",{"type":18,"value":595},"\nis ",{"type":13,"tag":21,"props":597,"children":599},{"className":598},[],[600],{"type":18,"value":601},"VK_FALSE",{"type":18,"value":603},", each element of ",{"type":13,"tag":21,"props":605,"children":607},{"className":606},[],[608],{"type":18,"value":545},{"type":13,"tag":30,"props":610,"children":612},{"type":611},"must",[],{"type":18,"value":614}," specify the sample location state that matches the sample\nlocations used by all pipelines that will be bound to a command buffer\nduring the specified subpass.\nIf ",{"type":13,"tag":21,"props":616,"children":618},{"className":617},[],[619],{"type":18,"value":593},{"type":18,"value":462},{"type":13,"tag":21,"props":622,"children":624},{"className":623},[],[625],{"type":18,"value":626},"VK_TRUE",{"type":18,"value":628},", the sample locations\nused for rasterization do not depend on\n",{"type":13,"tag":21,"props":630,"children":632},{"className":631},[],[633],{"type":18,"value":545},{"type":18,"value":64},{"type":13,"tag":636,"props":637,"children":639},"validity-group",{"name":638},"Valid Usage (Implicit)",[640,665,713],{"type":13,"tag":641,"props":642,"children":644},"validity-field",{"name":643},"VUID-VkRenderPassSampleLocationsBeginInfoEXT-sType-sType",[645],{"type":13,"tag":14,"props":646,"children":647},{},[648,653,654,657,659],{"type":13,"tag":21,"props":649,"children":651},{"className":650},[],[652],{"type":18,"value":441},{"type":18,"value":523},{"type":13,"tag":30,"props":655,"children":656},{"type":611},[],{"type":18,"value":658}," be ",{"type":13,"tag":21,"props":660,"children":662},{"className":661},[],[663],{"type":18,"value":664},"VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT",{"type":13,"tag":641,"props":666,"children":668},{"name":667},"VUID-VkRenderPassSampleLocationsBeginInfoEXT-pAttachmentInitialSampleLocations-parameter",[669],{"type":13,"tag":14,"props":670,"children":671},{},[672,674,679,681,687,689,694,695,698,700,705,707,711],{"type":18,"value":673},"If ",{"type":13,"tag":21,"props":675,"children":677},{"className":676},[],[678],{"type":18,"value":479},{"type":18,"value":680}," is not ",{"type":13,"tag":21,"props":682,"children":684},{"className":683},[],[685],{"type":18,"value":686},"0",{"type":18,"value":688},", ",{"type":13,"tag":21,"props":690,"children":692},{"className":691},[],[693],{"type":18,"value":487},{"type":18,"value":523},{"type":13,"tag":30,"props":696,"children":697},{"type":611},[],{"type":18,"value":699}," be a valid pointer to an array of ",{"type":13,"tag":21,"props":701,"children":703},{"className":702},[],[704],{"type":18,"value":479},{"type":18,"value":706}," valid ",{"type":13,"tag":445,"props":708,"children":709},{"href":511},[710],{"type":18,"value":514},{"type":18,"value":712}," structures",{"type":13,"tag":641,"props":714,"children":716},{"name":715},"VUID-VkRenderPassSampleLocationsBeginInfoEXT-pPostSubpassSampleLocations-parameter",[717],{"type":13,"tag":14,"props":718,"children":719},{},[720,721,726,727,732,733,738,739,742,743,748,749,753],{"type":18,"value":673},{"type":13,"tag":21,"props":722,"children":724},{"className":723},[],[725],{"type":18,"value":537},{"type":18,"value":680},{"type":13,"tag":21,"props":728,"children":730},{"className":729},[],[731],{"type":18,"value":686},{"type":18,"value":688},{"type":13,"tag":21,"props":734,"children":736},{"className":735},[],[737],{"type":18,"value":545},{"type":18,"value":523},{"type":13,"tag":30,"props":740,"children":741},{"type":611},[],{"type":18,"value":699},{"type":13,"tag":21,"props":744,"children":746},{"className":745},[],[747],{"type":18,"value":537},{"type":18,"value":706},{"type":13,"tag":445,"props":750,"children":751},{"href":564},[752],{"type":18,"value":567},{"type":18,"value":712},{"type":13,"tag":755,"props":756,"children":757},"style",{},[758],{"type":18,"value":759},"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":88,"searchDepth":118,"depth":118,"links":761},[],"markdown",1729612477397]