[{"data":1,"prerenderedAt":678},["ShallowReactive",2],{"H3Hcbw1KZR":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":677,"_id":4},"VkCoarseSampleOrderCustomNV","Structure specifying parameters controlling shading rate image usage","VK_NV_shading_rate_image","structs",[],{"type":10,"children":11,"toc":675},"root",[12,28,285,343,362,403,585,669],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","The ",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure is defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,136],{"type":13,"tag":33,"props":34,"children":40},"pre",{"className":35,"code":36,"filename":37,"language":38,"meta":39,"style":39},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkCoarseSampleOrderCustomNV {\n VkShadingRatePaletteEntryNV shadingRate;\n uint32_t sampleCount;\n uint32_t sampleLocationCount;\n const VkCoarseSampleLocationNV* pSampleLocations;\n} VkCoarseSampleOrderCustomNV;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,103,127],{"type":13,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":13,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[54],{"type":18,"value":55},"typedef",{"type":13,"tag":45,"props":57,"children":58},{"style":52},[59],{"type":18,"value":60}," struct",{"type":13,"tag":45,"props":62,"children":64},{"style":63},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[65],{"type":18,"value":66}," VkCoarseSampleOrderCustomNV {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkShadingRatePaletteEntryNV shadingRate;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80,85],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," uint32_t",{"type":13,"tag":45,"props":86,"children":87},{"style":63},[88],{"type":18,"value":89}," sampleCount;\n",{"type":13,"tag":45,"props":91,"children":93},{"class":47,"line":92},4,[94,98],{"type":13,"tag":45,"props":95,"children":96},{"style":52},[97],{"type":18,"value":84},{"type":13,"tag":45,"props":99,"children":100},{"style":63},[101],{"type":18,"value":102}," sampleLocationCount;\n",{"type":13,"tag":45,"props":104,"children":106},{"class":47,"line":105},5,[107,112,117,122],{"type":13,"tag":45,"props":108,"children":109},{"style":52},[110],{"type":18,"value":111}," const",{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," VkCoarseSampleLocationNV",{"type":13,"tag":45,"props":118,"children":119},{"style":52},[120],{"type":18,"value":121},"*",{"type":13,"tag":45,"props":123,"children":124},{"style":63},[125],{"type":18,"value":126}," pSampleLocations;\n",{"type":13,"tag":45,"props":128,"children":130},{"class":47,"line":129},6,[131],{"type":13,"tag":45,"props":132,"children":133},{"style":63},[134],{"type":18,"value":135},"} VkCoarseSampleOrderCustomNV;\n",{"type":13,"tag":33,"props":137,"children":142},{"className":138,"code":139,"filename":140,"language":141,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct CoarseSampleOrderCustomNV {\n shading_rate: vk::ShadingRatePaletteEntryNV,\n sample_count: u32,\n sample_location_count: u32,\n p_sample_locations: *const vk::CoarseSampleLocationNV,\n}\n","Rust","rs",[143],{"type":13,"tag":21,"props":144,"children":145},{"__ignoreMap":39},[146,169,202,223,243,277],{"type":13,"tag":45,"props":147,"children":148},{"class":47,"line":48},[149,154,158,164],{"type":13,"tag":45,"props":150,"children":151},{"style":52},[152],{"type":18,"value":153},"pub",{"type":13,"tag":45,"props":155,"children":156},{"style":52},[157],{"type":18,"value":60},{"type":13,"tag":45,"props":159,"children":161},{"style":160},"--shiki-default:#953800;--shiki-dark:#FFA657",[162],{"type":18,"value":163}," CoarseSampleOrderCustomNV",{"type":13,"tag":45,"props":165,"children":166},{"style":63},[167],{"type":18,"value":168}," {\n",{"type":13,"tag":45,"props":170,"children":171},{"class":47,"line":69},[172,177,182,187,192,197],{"type":13,"tag":45,"props":173,"children":174},{"style":63},[175],{"type":18,"value":176}," shading_rate",{"type":13,"tag":45,"props":178,"children":179},{"style":52},[180],{"type":18,"value":181},":",{"type":13,"tag":45,"props":183,"children":184},{"style":160},[185],{"type":18,"value":186}," vk",{"type":13,"tag":45,"props":188,"children":189},{"style":52},[190],{"type":18,"value":191},"::",{"type":13,"tag":45,"props":193,"children":194},{"style":160},[195],{"type":18,"value":196},"ShadingRatePaletteEntryNV",{"type":13,"tag":45,"props":198,"children":199},{"style":63},[200],{"type":18,"value":201},",\n",{"type":13,"tag":45,"props":203,"children":204},{"class":47,"line":78},[205,210,214,219],{"type":13,"tag":45,"props":206,"children":207},{"style":63},[208],{"type":18,"value":209}," sample_count",{"type":13,"tag":45,"props":211,"children":212},{"style":52},[213],{"type":18,"value":181},{"type":13,"tag":45,"props":215,"children":216},{"style":160},[217],{"type":18,"value":218}," u32",{"type":13,"tag":45,"props":220,"children":221},{"style":63},[222],{"type":18,"value":201},{"type":13,"tag":45,"props":224,"children":225},{"class":47,"line":92},[226,231,235,239],{"type":13,"tag":45,"props":227,"children":228},{"style":63},[229],{"type":18,"value":230}," sample_location_count",{"type":13,"tag":45,"props":232,"children":233},{"style":52},[234],{"type":18,"value":181},{"type":13,"tag":45,"props":236,"children":237},{"style":160},[238],{"type":18,"value":218},{"type":13,"tag":45,"props":240,"children":241},{"style":63},[242],{"type":18,"value":201},{"type":13,"tag":45,"props":244,"children":245},{"class":47,"line":105},[246,251,255,260,264,268,273],{"type":13,"tag":45,"props":247,"children":248},{"style":63},[249],{"type":18,"value":250}," p_sample_locations",{"type":13,"tag":45,"props":252,"children":253},{"style":52},[254],{"type":18,"value":181},{"type":13,"tag":45,"props":256,"children":257},{"style":52},[258],{"type":18,"value":259}," *const",{"type":13,"tag":45,"props":261,"children":262},{"style":160},[263],{"type":18,"value":186},{"type":13,"tag":45,"props":265,"children":266},{"style":52},[267],{"type":18,"value":191},{"type":13,"tag":45,"props":269,"children":270},{"style":160},[271],{"type":18,"value":272},"CoarseSampleLocationNV",{"type":13,"tag":45,"props":274,"children":275},{"style":63},[276],{"type":18,"value":201},{"type":13,"tag":45,"props":278,"children":279},{"class":47,"line":129},[280],{"type":13,"tag":45,"props":281,"children":282},{"style":63},[283],{"type":18,"value":284},"}\n",{"type":13,"tag":286,"props":287,"children":288},"ul",{},[289,301,312,323],{"type":13,"tag":290,"props":291,"children":292},"li",{},[293,299],{"type":13,"tag":21,"props":294,"children":296},{"className":295},[],[297],{"type":18,"value":298},"shadingRate",{"type":18,"value":300}," is a shading rate palette entry that identifies the\nfragment width and height for the combination of fragment area and\nper-pixel coverage sample count to control.",{"type":13,"tag":290,"props":302,"children":303},{},[304,310],{"type":13,"tag":21,"props":305,"children":307},{"className":306},[],[308],{"type":18,"value":309},"sampleCount",{"type":18,"value":311}," identifies the per-pixel coverage sample count for the\ncombination of fragment area and coverage sample count to control.",{"type":13,"tag":290,"props":313,"children":314},{},[315,321],{"type":13,"tag":21,"props":316,"children":318},{"className":317},[],[319],{"type":18,"value":320},"sampleLocationCount",{"type":18,"value":322}," specifies the number of sample locations in\nthe custom ordering.",{"type":13,"tag":290,"props":324,"children":325},{},[326,332,334,341],{"type":13,"tag":21,"props":327,"children":329},{"className":328},[],[330],{"type":18,"value":331},"pSampleLocations",{"type":18,"value":333}," is a pointer to an array of\n",{"type":13,"tag":335,"props":336,"children":338},"a",{"href":337},"/man/VkCoarseSampleLocationNV",[339],{"type":18,"value":340},"VkCoarseSampleLocationNV",{"type":18,"value":342}," structures specifying the location of\neach sample in the custom ordering.",{"type":13,"tag":14,"props":344,"children":345},{},[346,347,352,354,360],{"type":18,"value":19},{"type":13,"tag":21,"props":348,"children":350},{"className":349},[],[351],{"type":18,"value":4},{"type":18,"value":353}," structure is used with a coverage\nsample ordering type of ",{"type":13,"tag":21,"props":355,"children":357},{"className":356},[],[358],{"type":18,"value":359},"VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV",{"type":18,"value":361}," to\nspecify the order of coverage samples for one combination of fragment width,\nfragment height, and coverage sample count.",{"type":13,"tag":14,"props":363,"children":364},{},[365,367,373,375,380,382,388,390,395,397,401],{"type":18,"value":366},"When using a custom sample ordering, element ",{"type":13,"tag":368,"props":369,"children":370},"em",{},[371],{"type":18,"value":372},"j",{"type":18,"value":374}," in ",{"type":13,"tag":21,"props":376,"children":378},{"className":377},[],[379],{"type":18,"value":331},{"type":18,"value":381},"\nspecifies a specific pixel location and\n",{"type":13,"tag":335,"props":383,"children":385},{"href":384},"/chapters/primsrast#primsrast-multisampling-coverage-mask",[386],{"type":18,"value":387},"sample index",{"type":18,"value":389}," that corresponds to\n",{"type":13,"tag":335,"props":391,"children":392},{"href":384},[393],{"type":18,"value":394},"coverage index",{"type":18,"value":396}," ",{"type":13,"tag":368,"props":398,"children":399},{},[400],{"type":18,"value":372},{"type":18,"value":402}," in the\nmulti-pixel fragment.",{"type":13,"tag":404,"props":405,"children":407},"validity-group",{"name":406},"Valid Usage",[408,429,468,505,536],{"type":13,"tag":409,"props":410,"children":412},"validity-field",{"name":411},"VUID-VkCoarseSampleOrderCustomNV-shadingRate-02073",[413],{"type":13,"tag":14,"props":414,"children":415},{},[416,421,422,427],{"type":13,"tag":21,"props":417,"children":419},{"className":418},[],[420],{"type":18,"value":298},{"type":18,"value":396},{"type":13,"tag":423,"props":424,"children":426},"normative",{"type":425},"must",[],{"type":18,"value":428}," be a shading rate that generates fragments with\nmore than one pixel",{"type":13,"tag":409,"props":430,"children":432},{"name":431},"VUID-VkCoarseSampleOrderCustomNV-sampleCount-02074",[433],{"type":13,"tag":14,"props":434,"children":435},{},[436,441,442,445,447,453,455,461,462],{"type":13,"tag":21,"props":437,"children":439},{"className":438},[],[440],{"type":18,"value":309},{"type":18,"value":396},{"type":13,"tag":423,"props":443,"children":444},{"type":425},[],{"type":18,"value":446}," correspond to a sample count enumerated in\n",{"type":13,"tag":335,"props":448,"children":450},{"href":449},"/man/VkSampleCountFlags",[451],{"type":18,"value":452},"VkSampleCountFlags",{"type":18,"value":454}," whose corresponding bit is set in\n",{"type":13,"tag":335,"props":456,"children":458},{"href":457},"/man/VkPhysicalDeviceLimits",[459],{"type":18,"value":460},"VkPhysicalDeviceLimits",{"type":18,"value":191},{"type":13,"tag":21,"props":463,"children":465},{"className":464},[],[466],{"type":18,"value":467},"framebufferNoAttachmentsSampleCounts",{"type":13,"tag":409,"props":469,"children":471},{"name":470},"VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-02075",[472],{"type":13,"tag":14,"props":473,"children":474},{},[475,480,481,484,486,491,493,498,500],{"type":13,"tag":21,"props":476,"children":478},{"className":477},[],[479],{"type":18,"value":320},{"type":18,"value":396},{"type":13,"tag":423,"props":482,"children":483},{"type":425},[],{"type":18,"value":485}," be equal to the product of\n",{"type":13,"tag":21,"props":487,"children":489},{"className":488},[],[490],{"type":18,"value":309},{"type":18,"value":492},", the fragment width for ",{"type":13,"tag":21,"props":494,"children":496},{"className":495},[],[497],{"type":18,"value":298},{"type":18,"value":499},", and the\nfragment height for ",{"type":13,"tag":21,"props":501,"children":503},{"className":502},[],[504],{"type":18,"value":298},{"type":13,"tag":409,"props":506,"children":508},{"name":507},"VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-02076",[509],{"type":13,"tag":14,"props":510,"children":511},{},[512,517,518,521,523,529,530],{"type":13,"tag":21,"props":513,"children":515},{"className":514},[],[516],{"type":18,"value":320},{"type":18,"value":396},{"type":13,"tag":423,"props":519,"children":520},{"type":425},[],{"type":18,"value":522}," be less than or equal to the value of\n",{"type":13,"tag":21,"props":524,"children":526},{"className":525},[],[527],{"type":18,"value":528},"VkPhysicalDeviceShadingRateImagePropertiesNV",{"type":18,"value":191},{"type":13,"tag":21,"props":531,"children":533},{"className":532},[],[534],{"type":18,"value":535},"shadingRateMaxCoarseSamples",{"type":13,"tag":409,"props":537,"children":539},{"name":538},"VUID-VkCoarseSampleOrderCustomNV-pSampleLocations-02077",[540],{"type":13,"tag":14,"props":541,"children":542},{},[543,545,550,551,554,556,562,564,570,572,578,580],{"type":18,"value":544},"The array ",{"type":13,"tag":21,"props":546,"children":548},{"className":547},[],[549],{"type":18,"value":331},{"type":18,"value":396},{"type":13,"tag":423,"props":552,"children":553},{"type":425},[],{"type":18,"value":555}," contain exactly one entry for\nevery combination of valid values for ",{"type":13,"tag":21,"props":557,"children":559},{"className":558},[],[560],{"type":18,"value":561},"pixelX",{"type":18,"value":563},", ",{"type":13,"tag":21,"props":565,"children":567},{"className":566},[],[568],{"type":18,"value":569},"pixelY",{"type":18,"value":571},", and\n",{"type":13,"tag":21,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":577},"sample",{"type":18,"value":579}," in the structure ",{"type":13,"tag":335,"props":581,"children":583},{"href":582},"/man/VkCoarseSampleOrderCustomNV",[584],{"type":18,"value":4},{"type":13,"tag":404,"props":586,"children":588},{"name":587},"Valid Usage (Implicit)",[589,615,645],{"type":13,"tag":409,"props":590,"children":592},{"name":591},"VUID-VkCoarseSampleOrderCustomNV-shadingRate-parameter",[593],{"type":13,"tag":14,"props":594,"children":595},{},[596,601,602,605,607,613],{"type":13,"tag":21,"props":597,"children":599},{"className":598},[],[600],{"type":18,"value":298},{"type":18,"value":396},{"type":13,"tag":423,"props":603,"children":604},{"type":425},[],{"type":18,"value":606}," be a valid ",{"type":13,"tag":335,"props":608,"children":610},{"href":609},"/man/VkShadingRatePaletteEntryNV",[611],{"type":18,"value":612},"VkShadingRatePaletteEntryNV",{"type":18,"value":614}," value",{"type":13,"tag":409,"props":616,"children":618},{"name":617},"VUID-VkCoarseSampleOrderCustomNV-pSampleLocations-parameter",[619],{"type":13,"tag":14,"props":620,"children":621},{},[622,627,628,631,633,638,639,643],{"type":13,"tag":21,"props":623,"children":625},{"className":624},[],[626],{"type":18,"value":331},{"type":18,"value":396},{"type":13,"tag":423,"props":629,"children":630},{"type":425},[],{"type":18,"value":632}," be a valid pointer to an array of ",{"type":13,"tag":21,"props":634,"children":636},{"className":635},[],[637],{"type":18,"value":320},{"type":18,"value":396},{"type":13,"tag":335,"props":640,"children":641},{"href":337},[642],{"type":18,"value":340},{"type":18,"value":644}," structures",{"type":13,"tag":409,"props":646,"children":648},{"name":647},"VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-arraylength",[649],{"type":13,"tag":14,"props":650,"children":651},{},[652,657,658,661,663],{"type":13,"tag":21,"props":653,"children":655},{"className":654},[],[656],{"type":18,"value":320},{"type":18,"value":396},{"type":13,"tag":423,"props":659,"children":660},{"type":425},[],{"type":18,"value":662}," be greater than ",{"type":13,"tag":21,"props":664,"children":666},{"className":665},[],[667],{"type":18,"value":668},"0",{"type":13,"tag":670,"props":671,"children":672},"style",{},[673],{"type":18,"value":674},"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":39,"searchDepth":69,"depth":69,"links":676},[],"markdown",1725732542313]