[{"data":1,"prerenderedAt":961},["ShallowReactive",2],{"dUg8f37Zog":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":960,"_id":4},"VkPhysicalDeviceConservativeRasterizationPropertiesEXT","Structure describing conservative raster properties that can be supported by an implementation","VK_EXT_conservative_rasterization","structs",[],{"type":10,"children":11,"toc":958},"root",[12,28,566,887,922,952],{"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\nis defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,193],{"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 VkPhysicalDeviceConservativeRasterizationPropertiesEXT {\n VkStructureType sType;\n void* pNext;\n float primitiveOverestimationSize;\n float maxExtraPrimitiveOverestimationSize;\n float extraPrimitiveOverestimationSizeGranularity;\n VkBool32 primitiveUnderestimation;\n VkBool32 conservativePointAndLineRasterization;\n VkBool32 degenerateTrianglesRasterized;\n VkBool32 degenerateLinesRasterized;\n VkBool32 fullyCoveredFragmentShaderInputVariable;\n VkBool32 conservativeRasterizationPostDepthCoverage;\n} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,104,117,130,139,148,157,166,175,184],{"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}," VkPhysicalDeviceConservativeRasterizationPropertiesEXT {\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}," VkStructureType sType;\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}," void*",{"type":13,"tag":45,"props":86,"children":87},{"style":63},[88],{"type":18,"value":89}," pNext;\n",{"type":13,"tag":45,"props":91,"children":93},{"class":47,"line":92},4,[94,99],{"type":13,"tag":45,"props":95,"children":96},{"style":52},[97],{"type":18,"value":98}," float",{"type":13,"tag":45,"props":100,"children":101},{"style":63},[102],{"type":18,"value":103}," primitiveOverestimationSize;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108,112],{"type":13,"tag":45,"props":109,"children":110},{"style":52},[111],{"type":18,"value":98},{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," maxExtraPrimitiveOverestimationSize;\n",{"type":13,"tag":45,"props":118,"children":120},{"class":47,"line":119},6,[121,125],{"type":13,"tag":45,"props":122,"children":123},{"style":52},[124],{"type":18,"value":98},{"type":13,"tag":45,"props":126,"children":127},{"style":63},[128],{"type":18,"value":129}," extraPrimitiveOverestimationSizeGranularity;\n",{"type":13,"tag":45,"props":131,"children":133},{"class":47,"line":132},7,[134],{"type":13,"tag":45,"props":135,"children":136},{"style":63},[137],{"type":18,"value":138}," VkBool32 primitiveUnderestimation;\n",{"type":13,"tag":45,"props":140,"children":142},{"class":47,"line":141},8,[143],{"type":13,"tag":45,"props":144,"children":145},{"style":63},[146],{"type":18,"value":147}," VkBool32 conservativePointAndLineRasterization;\n",{"type":13,"tag":45,"props":149,"children":151},{"class":47,"line":150},9,[152],{"type":13,"tag":45,"props":153,"children":154},{"style":63},[155],{"type":18,"value":156}," VkBool32 degenerateTrianglesRasterized;\n",{"type":13,"tag":45,"props":158,"children":160},{"class":47,"line":159},10,[161],{"type":13,"tag":45,"props":162,"children":163},{"style":63},[164],{"type":18,"value":165}," VkBool32 degenerateLinesRasterized;\n",{"type":13,"tag":45,"props":167,"children":169},{"class":47,"line":168},11,[170],{"type":13,"tag":45,"props":171,"children":172},{"style":63},[173],{"type":18,"value":174}," VkBool32 fullyCoveredFragmentShaderInputVariable;\n",{"type":13,"tag":45,"props":176,"children":178},{"class":47,"line":177},12,[179],{"type":13,"tag":45,"props":180,"children":181},{"style":63},[182],{"type":18,"value":183}," VkBool32 conservativeRasterizationPostDepthCoverage;\n",{"type":13,"tag":45,"props":185,"children":187},{"class":47,"line":186},13,[188],{"type":13,"tag":45,"props":189,"children":190},{"style":63},[191],{"type":18,"value":192},"} VkPhysicalDeviceConservativeRasterizationPropertiesEXT;\n",{"type":13,"tag":33,"props":194,"children":199},{"className":195,"code":196,"filename":197,"language":198,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceConservativeRasterizationPropertiesEXT {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n primitive_overestimation_size: f32, // The size in pixels the primitive is enlarged at each edge during conservative rasterization\n max_extra_primitive_overestimation_size: f32, // The maximum additional overestimation the client can specify in the pipeline state\n extra_primitive_overestimation_size_granularity: f32, // The granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize\n primitive_underestimation: vk::Bool32, // true if the implementation supports conservative rasterization underestimation mode\n conservative_point_and_line_rasterization: vk::Bool32, // true if conservative rasterization also applies to points and lines\n degenerate_triangles_rasterized: vk::Bool32, // true if degenerate triangles (those with zero area after snap) are rasterized\n degenerate_lines_rasterized: vk::Bool32, // true if degenerate lines (those with zero length after snap) are rasterized\n fully_covered_fragment_shader_input_variable: vk::Bool32, // true if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable\n conservative_rasterization_post_depth_coverage: vk::Bool32, // true if the implementation supports both conservative rasterization and post depth coverage sample coverage mask\n}\n","Rust","rs",[200],{"type":13,"tag":21,"props":201,"children":202},{"__ignoreMap":39},[203,226,259,281,309,334,359,393,426,459,492,525,558],{"type":13,"tag":45,"props":204,"children":205},{"class":47,"line":48},[206,211,215,221],{"type":13,"tag":45,"props":207,"children":208},{"style":52},[209],{"type":18,"value":210},"pub",{"type":13,"tag":45,"props":212,"children":213},{"style":52},[214],{"type":18,"value":60},{"type":13,"tag":45,"props":216,"children":218},{"style":217},"--shiki-default:#953800;--shiki-dark:#FFA657",[219],{"type":18,"value":220}," PhysicalDeviceConservativeRasterizationPropertiesEXT",{"type":13,"tag":45,"props":222,"children":223},{"style":63},[224],{"type":18,"value":225}," {\n",{"type":13,"tag":45,"props":227,"children":228},{"class":47,"line":69},[229,234,239,244,249,254],{"type":13,"tag":45,"props":230,"children":231},{"style":63},[232],{"type":18,"value":233}," s_type",{"type":13,"tag":45,"props":235,"children":236},{"style":52},[237],{"type":18,"value":238},":",{"type":13,"tag":45,"props":240,"children":241},{"style":217},[242],{"type":18,"value":243}," vk",{"type":13,"tag":45,"props":245,"children":246},{"style":52},[247],{"type":18,"value":248},"::",{"type":13,"tag":45,"props":250,"children":251},{"style":217},[252],{"type":18,"value":253},"StructureType",{"type":13,"tag":45,"props":255,"children":256},{"style":63},[257],{"type":18,"value":258},",\n",{"type":13,"tag":45,"props":260,"children":261},{"class":47,"line":78},[262,267,271,276],{"type":13,"tag":45,"props":263,"children":264},{"style":63},[265],{"type":18,"value":266}," p_next",{"type":13,"tag":45,"props":268,"children":269},{"style":52},[270],{"type":18,"value":238},{"type":13,"tag":45,"props":272,"children":273},{"style":52},[274],{"type":18,"value":275}," *mut",{"type":13,"tag":45,"props":277,"children":278},{"style":63},[279],{"type":18,"value":280}," c_void,\n",{"type":13,"tag":45,"props":282,"children":283},{"class":47,"line":92},[284,289,293,298,303],{"type":13,"tag":45,"props":285,"children":286},{"style":63},[287],{"type":18,"value":288}," primitive_overestimation_size",{"type":13,"tag":45,"props":290,"children":291},{"style":52},[292],{"type":18,"value":238},{"type":13,"tag":45,"props":294,"children":295},{"style":217},[296],{"type":18,"value":297}," f32",{"type":13,"tag":45,"props":299,"children":300},{"style":63},[301],{"type":18,"value":302},", ",{"type":13,"tag":45,"props":304,"children":306},{"style":305},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[307],{"type":18,"value":308},"// The size in pixels the primitive is enlarged at each edge during conservative rasterization\n",{"type":13,"tag":45,"props":310,"children":311},{"class":47,"line":106},[312,317,321,325,329],{"type":13,"tag":45,"props":313,"children":314},{"style":63},[315],{"type":18,"value":316}," max_extra_primitive_overestimation_size",{"type":13,"tag":45,"props":318,"children":319},{"style":52},[320],{"type":18,"value":238},{"type":13,"tag":45,"props":322,"children":323},{"style":217},[324],{"type":18,"value":297},{"type":13,"tag":45,"props":326,"children":327},{"style":63},[328],{"type":18,"value":302},{"type":13,"tag":45,"props":330,"children":331},{"style":305},[332],{"type":18,"value":333},"// The maximum additional overestimation the client can specify in the pipeline state\n",{"type":13,"tag":45,"props":335,"children":336},{"class":47,"line":119},[337,342,346,350,354],{"type":13,"tag":45,"props":338,"children":339},{"style":63},[340],{"type":18,"value":341}," extra_primitive_overestimation_size_granularity",{"type":13,"tag":45,"props":343,"children":344},{"style":52},[345],{"type":18,"value":238},{"type":13,"tag":45,"props":347,"children":348},{"style":217},[349],{"type":18,"value":297},{"type":13,"tag":45,"props":351,"children":352},{"style":63},[353],{"type":18,"value":302},{"type":13,"tag":45,"props":355,"children":356},{"style":305},[357],{"type":18,"value":358},"// The granularity of extra overestimation sizes the implementations supports between 0 and maxExtraOverestimationSize\n",{"type":13,"tag":45,"props":360,"children":361},{"class":47,"line":132},[362,367,371,375,379,384,388],{"type":13,"tag":45,"props":363,"children":364},{"style":63},[365],{"type":18,"value":366}," primitive_underestimation",{"type":13,"tag":45,"props":368,"children":369},{"style":52},[370],{"type":18,"value":238},{"type":13,"tag":45,"props":372,"children":373},{"style":217},[374],{"type":18,"value":243},{"type":13,"tag":45,"props":376,"children":377},{"style":52},[378],{"type":18,"value":248},{"type":13,"tag":45,"props":380,"children":381},{"style":217},[382],{"type":18,"value":383},"Bool32",{"type":13,"tag":45,"props":385,"children":386},{"style":63},[387],{"type":18,"value":302},{"type":13,"tag":45,"props":389,"children":390},{"style":305},[391],{"type":18,"value":392},"// true if the implementation supports conservative rasterization underestimation mode\n",{"type":13,"tag":45,"props":394,"children":395},{"class":47,"line":141},[396,401,405,409,413,417,421],{"type":13,"tag":45,"props":397,"children":398},{"style":63},[399],{"type":18,"value":400}," conservative_point_and_line_rasterization",{"type":13,"tag":45,"props":402,"children":403},{"style":52},[404],{"type":18,"value":238},{"type":13,"tag":45,"props":406,"children":407},{"style":217},[408],{"type":18,"value":243},{"type":13,"tag":45,"props":410,"children":411},{"style":52},[412],{"type":18,"value":248},{"type":13,"tag":45,"props":414,"children":415},{"style":217},[416],{"type":18,"value":383},{"type":13,"tag":45,"props":418,"children":419},{"style":63},[420],{"type":18,"value":302},{"type":13,"tag":45,"props":422,"children":423},{"style":305},[424],{"type":18,"value":425},"// true if conservative rasterization also applies to points and lines\n",{"type":13,"tag":45,"props":427,"children":428},{"class":47,"line":150},[429,434,438,442,446,450,454],{"type":13,"tag":45,"props":430,"children":431},{"style":63},[432],{"type":18,"value":433}," degenerate_triangles_rasterized",{"type":13,"tag":45,"props":435,"children":436},{"style":52},[437],{"type":18,"value":238},{"type":13,"tag":45,"props":439,"children":440},{"style":217},[441],{"type":18,"value":243},{"type":13,"tag":45,"props":443,"children":444},{"style":52},[445],{"type":18,"value":248},{"type":13,"tag":45,"props":447,"children":448},{"style":217},[449],{"type":18,"value":383},{"type":13,"tag":45,"props":451,"children":452},{"style":63},[453],{"type":18,"value":302},{"type":13,"tag":45,"props":455,"children":456},{"style":305},[457],{"type":18,"value":458},"// true if degenerate triangles (those with zero area after snap) are rasterized\n",{"type":13,"tag":45,"props":460,"children":461},{"class":47,"line":159},[462,467,471,475,479,483,487],{"type":13,"tag":45,"props":463,"children":464},{"style":63},[465],{"type":18,"value":466}," degenerate_lines_rasterized",{"type":13,"tag":45,"props":468,"children":469},{"style":52},[470],{"type":18,"value":238},{"type":13,"tag":45,"props":472,"children":473},{"style":217},[474],{"type":18,"value":243},{"type":13,"tag":45,"props":476,"children":477},{"style":52},[478],{"type":18,"value":248},{"type":13,"tag":45,"props":480,"children":481},{"style":217},[482],{"type":18,"value":383},{"type":13,"tag":45,"props":484,"children":485},{"style":63},[486],{"type":18,"value":302},{"type":13,"tag":45,"props":488,"children":489},{"style":305},[490],{"type":18,"value":491},"// true if degenerate lines (those with zero length after snap) are rasterized\n",{"type":13,"tag":45,"props":493,"children":494},{"class":47,"line":168},[495,500,504,508,512,516,520],{"type":13,"tag":45,"props":496,"children":497},{"style":63},[498],{"type":18,"value":499}," fully_covered_fragment_shader_input_variable",{"type":13,"tag":45,"props":501,"children":502},{"style":52},[503],{"type":18,"value":238},{"type":13,"tag":45,"props":505,"children":506},{"style":217},[507],{"type":18,"value":243},{"type":13,"tag":45,"props":509,"children":510},{"style":52},[511],{"type":18,"value":248},{"type":13,"tag":45,"props":513,"children":514},{"style":217},[515],{"type":18,"value":383},{"type":13,"tag":45,"props":517,"children":518},{"style":63},[519],{"type":18,"value":302},{"type":13,"tag":45,"props":521,"children":522},{"style":305},[523],{"type":18,"value":524},"// true if the implementation supports the FullyCoveredEXT SPIR-V builtin fragment shader input variable\n",{"type":13,"tag":45,"props":526,"children":527},{"class":47,"line":177},[528,533,537,541,545,549,553],{"type":13,"tag":45,"props":529,"children":530},{"style":63},[531],{"type":18,"value":532}," conservative_rasterization_post_depth_coverage",{"type":13,"tag":45,"props":534,"children":535},{"style":52},[536],{"type":18,"value":238},{"type":13,"tag":45,"props":538,"children":539},{"style":217},[540],{"type":18,"value":243},{"type":13,"tag":45,"props":542,"children":543},{"style":52},[544],{"type":18,"value":248},{"type":13,"tag":45,"props":546,"children":547},{"style":217},[548],{"type":18,"value":383},{"type":13,"tag":45,"props":550,"children":551},{"style":63},[552],{"type":18,"value":302},{"type":13,"tag":45,"props":554,"children":555},{"style":305},[556],{"type":18,"value":557},"// true if the implementation supports both conservative rasterization and post depth coverage sample coverage mask\n",{"type":13,"tag":45,"props":559,"children":560},{"class":47,"line":186},[561],{"type":13,"tag":45,"props":562,"children":563},{"style":63},[564],{"type":18,"value":565},"}\n",{"type":13,"tag":567,"props":568,"children":569},"ul",{},[570,591,610,635,650,672,719,740,781,816,845],{"type":13,"tag":571,"props":572,"children":573},"li",{},[574,580,582,589],{"type":13,"tag":21,"props":575,"children":577},{"className":576},[],[578],{"type":18,"value":579},"sType",{"type":18,"value":581}," is a ",{"type":13,"tag":583,"props":584,"children":586},"a",{"href":585},"/man/VkStructureType",[587],{"type":18,"value":588},"VkStructureType",{"type":18,"value":590}," value identifying this structure.",{"type":13,"tag":571,"props":592,"children":593},{},[594,600,602,608],{"type":13,"tag":21,"props":595,"children":597},{"className":596},[],[598],{"type":18,"value":599},"pNext",{"type":18,"value":601}," is ",{"type":13,"tag":21,"props":603,"children":605},{"className":604},[],[606],{"type":18,"value":607},"NULL",{"type":18,"value":609}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":571,"props":611,"children":612},{},[613,618,620,626,628,633],{"type":13,"tag":614,"props":615,"children":617},"anchor",{"id":616},"limits-primitiveOverestimationSize",[],{"type":18,"value":619}," ",{"type":13,"tag":21,"props":621,"children":623},{"className":622},[],[624],{"type":18,"value":625},"primitiveOverestimationSize",{"type":18,"value":627},"\nis the size in pixels the generating primitive is increased at each of\nits edges during conservative rasterization overestimation mode.\nEven with a size of 0.0, conservative rasterization overestimation rules\nstill apply and if any part of the pixel rectangle is covered by the\ngenerating primitive, fragments are generated for the entire pixel.\nHowever implementations ",{"type":13,"tag":629,"props":630,"children":632},"normative",{"type":631},"may",[],{"type":18,"value":634}," make the pixel coverage area even more\nconservative by increasing the size of the generating primitive.",{"type":13,"tag":571,"props":636,"children":637},{},[638,642,648],{"type":13,"tag":614,"props":639,"children":641},{"id":640},"limits-maxExtraPrimitiveOverestimationSize",[],{"type":13,"tag":21,"props":643,"children":645},{"className":644},[],[646],{"type":18,"value":647},"maxExtraPrimitiveOverestimationSize",{"type":18,"value":649}," is the maximum size in pixels\nof extra overestimation the implementation supports in the pipeline\nstate.\nA value of 0.0 means the implementation does not support any additional\noverestimation of the generating primitive during conservative\nrasterization.\nA value above 0.0 allows the application to further increase the size of\nthe generating primitive during conservative rasterization\noverestimation.",{"type":13,"tag":571,"props":651,"children":652},{},[653,657,663,665,670],{"type":13,"tag":614,"props":654,"children":656},{"id":655},"limits-extraPrimitiveOverestimationSizeGranularity",[],{"type":13,"tag":21,"props":658,"children":660},{"className":659},[],[661],{"type":18,"value":662},"extraPrimitiveOverestimationSizeGranularity",{"type":18,"value":664}," is the granularity of\nextra overestimation that can be specified in the pipeline state between\n0.0 and ",{"type":13,"tag":21,"props":666,"children":668},{"className":667},[],[669],{"type":18,"value":647},{"type":18,"value":671}," inclusive.\nA value of 0.0 means the implementation can use the smallest\nrepresentable non-zero value in the screen space pixel fixed-point grid.",{"type":13,"tag":571,"props":673,"children":674},{},[675,679,680,686,688,694,696,702,704,710,712,717],{"type":13,"tag":614,"props":676,"children":678},{"id":677},"limits-primitiveUnderestimation",[],{"type":18,"value":619},{"type":13,"tag":21,"props":681,"children":683},{"className":682},[],[684],{"type":18,"value":685},"primitiveUnderestimation",{"type":18,"value":687}," is\n",{"type":13,"tag":21,"props":689,"children":691},{"className":690},[],[692],{"type":18,"value":693},"VK_TRUE",{"type":18,"value":695}," if the implementation supports the\n",{"type":13,"tag":21,"props":697,"children":699},{"className":698},[],[700],{"type":18,"value":701},"VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT",{"type":18,"value":703}," conservative\nrasterization mode in addition to\n",{"type":13,"tag":21,"props":705,"children":707},{"className":706},[],[708],{"type":18,"value":709},"VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT",{"type":18,"value":711},".\nOtherwise the implementation only supports\n",{"type":13,"tag":21,"props":713,"children":715},{"className":714},[],[716],{"type":18,"value":709},{"type":18,"value":718},".",{"type":13,"tag":571,"props":720,"children":721},{},[722,726,732,733,738],{"type":13,"tag":614,"props":723,"children":725},{"id":724},"limits-conservativePointAndLineRasterization",[],{"type":13,"tag":21,"props":727,"children":729},{"className":728},[],[730],{"type":18,"value":731},"conservativePointAndLineRasterization",{"type":18,"value":601},{"type":13,"tag":21,"props":734,"children":736},{"className":735},[],[737],{"type":18,"value":693},{"type":18,"value":739}," if the\nimplementation supports conservative rasterization of point and line\nprimitives as well as triangle primitives.\nOtherwise the implementation only supports triangle primitives.",{"type":13,"tag":571,"props":741,"children":742},{},[743,747,753,754,760,762,767,768,773,775,779],{"type":13,"tag":614,"props":744,"children":746},{"id":745},"limits-degenerateTrianglesRasterized",[],{"type":13,"tag":21,"props":748,"children":750},{"className":749},[],[751],{"type":18,"value":752},"degenerateTrianglesRasterized",{"type":18,"value":601},{"type":13,"tag":21,"props":755,"children":757},{"className":756},[],[758],{"type":18,"value":759},"VK_FALSE",{"type":18,"value":761}," if the\nimplementation culls primitives generated from triangles that become\nzero area after they are quantized to the fixed-point rasterization\npixel grid.\n",{"type":13,"tag":21,"props":763,"children":765},{"className":764},[],[766],{"type":18,"value":752},{"type":18,"value":601},{"type":13,"tag":21,"props":769,"children":771},{"className":770},[],[772],{"type":18,"value":693},{"type":18,"value":774}," if these primitives\nare not culled and the provoking vertex attributes and depth value are\nused for the fragments.\nThe primitive area calculation is done on the primitive generated from\nthe clipped triangle if applicable.\nZero area primitives are backfacing and the application ",{"type":13,"tag":629,"props":776,"children":778},{"type":777},"can",[],{"type":18,"value":780}," enable\nbackface culling if desired.",{"type":13,"tag":571,"props":782,"children":783},{},[784,788,789,795,796,801,803,808,809,814],{"type":13,"tag":614,"props":785,"children":787},{"id":786},"limits-degenerateLinesRasterized",[],{"type":18,"value":619},{"type":13,"tag":21,"props":790,"children":792},{"className":791},[],[793],{"type":18,"value":794},"degenerateLinesRasterized",{"type":18,"value":687},{"type":13,"tag":21,"props":797,"children":799},{"className":798},[],[800],{"type":18,"value":759},{"type":18,"value":802}," if the implementation culls lines that become zero length\nafter they are quantized to the fixed-point rasterization pixel grid.\n",{"type":13,"tag":21,"props":804,"children":806},{"className":805},[],[807],{"type":18,"value":794},{"type":18,"value":601},{"type":13,"tag":21,"props":810,"children":812},{"className":811},[],[813],{"type":18,"value":693},{"type":18,"value":815}," if zero length lines\nare not culled and the provoking vertex attributes and depth value are\nused for the fragments.",{"type":13,"tag":571,"props":817,"children":818},{},[819,823,829,830,835,837,843],{"type":13,"tag":614,"props":820,"children":822},{"id":821},"limits-fullyCoveredFragmentShaderInputVariable",[],{"type":13,"tag":21,"props":824,"children":826},{"className":825},[],[827],{"type":18,"value":828},"fullyCoveredFragmentShaderInputVariable",{"type":18,"value":601},{"type":13,"tag":21,"props":831,"children":833},{"className":832},[],[834],{"type":18,"value":693},{"type":18,"value":836}," if the\nimplementation supports the SPIR-V builtin fragment shader input\nvariable ",{"type":13,"tag":21,"props":838,"children":840},{"className":839},[],[841],{"type":18,"value":842},"FullyCoveredEXT",{"type":18,"value":844}," specifying that conservative rasterization\nis enabled and the fragment area is fully covered by the generating\nprimitive.",{"type":13,"tag":571,"props":846,"children":847},{},[848,852,858,859,864,866,872,874,879,881,885],{"type":13,"tag":614,"props":849,"children":851},{"id":850},"limits-conservativeRasterizationPostDepthCoverage",[],{"type":13,"tag":21,"props":853,"children":855},{"className":854},[],[856],{"type":18,"value":857},"conservativeRasterizationPostDepthCoverage",{"type":18,"value":601},{"type":13,"tag":21,"props":860,"children":862},{"className":861},[],[863],{"type":18,"value":693},{"type":18,"value":865}," if the\nimplementation supports conservative rasterization with the\n",{"type":13,"tag":21,"props":867,"children":869},{"className":868},[],[870],{"type":18,"value":871},"PostDepthCoverage",{"type":18,"value":873}," execution mode enabled.\nOtherwise the ",{"type":13,"tag":21,"props":875,"children":877},{"className":876},[],[878],{"type":18,"value":871},{"type":18,"value":880}," execution mode ",{"type":13,"tag":629,"props":882,"children":884},{"type":883},"must",[],{"type":18,"value":886}," not be used\nwhen conservative rasterization is enabled.",{"type":13,"tag":14,"props":888,"children":889},{},[890,892,897,899,904,906,912,914,920],{"type":18,"value":891},"If the ",{"type":13,"tag":21,"props":893,"children":895},{"className":894},[],[896],{"type":18,"value":4},{"type":18,"value":898}," structure is included in the ",{"type":13,"tag":21,"props":900,"children":902},{"className":901},[],[903],{"type":18,"value":599},{"type":18,"value":905}," chain of the\n",{"type":13,"tag":583,"props":907,"children":909},{"href":908},"/man/VkPhysicalDeviceProperties2",[910],{"type":18,"value":911},"VkPhysicalDeviceProperties2",{"type":18,"value":913}," structure passed to\n",{"type":13,"tag":583,"props":915,"children":917},{"href":916},"/man/vkGetPhysicalDeviceProperties2",[918],{"type":18,"value":919},"vkGetPhysicalDeviceProperties2",{"type":18,"value":921},", it is filled in with each\ncorresponding implementation-dependent property.",{"type":13,"tag":923,"props":924,"children":926},"validity-group",{"name":925},"Valid Usage (Implicit)",[927],{"type":13,"tag":928,"props":929,"children":931},"validity-field",{"name":930},"VUID-VkPhysicalDeviceConservativeRasterizationPropertiesEXT-sType-sType",[932],{"type":13,"tag":14,"props":933,"children":934},{},[935,940,941,944,946],{"type":13,"tag":21,"props":936,"children":938},{"className":937},[],[939],{"type":18,"value":579},{"type":18,"value":619},{"type":13,"tag":629,"props":942,"children":943},{"type":883},[],{"type":18,"value":945}," be ",{"type":13,"tag":21,"props":947,"children":949},{"className":948},[],[950],{"type":18,"value":951},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT",{"type":13,"tag":953,"props":954,"children":955},"style",{},[956],{"type":18,"value":957},"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":959},[],"markdown",1729612461184]