[{"data":1,"prerenderedAt":449},["ShallowReactive",2],{"f076l54AFi":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":448,"_id":4},"VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT","Structure describing advanced blending features that can be supported by an implementation","VK_EXT_blend_operation_advanced","structs",[],{"type":10,"children":11,"toc":446},"root",[12,28,233,238,345,409,440],{"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\ndefined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,108],{"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 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {\n VkStructureType sType;\n void* pNext;\n VkBool32 advancedBlendCoherentOperations;\n} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,99],{"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}," VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT {\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],{"type":13,"tag":45,"props":95,"children":96},{"style":63},[97],{"type":18,"value":98}," VkBool32 advancedBlendCoherentOperations;\n",{"type":13,"tag":45,"props":100,"children":102},{"class":47,"line":101},5,[103],{"type":13,"tag":45,"props":104,"children":105},{"style":63},[106],{"type":18,"value":107},"} VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT;\n",{"type":13,"tag":33,"props":109,"children":114},{"className":110,"code":111,"filename":112,"language":113,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceBlendOperationAdvancedFeaturesEXT {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n advanced_blend_coherent_operations: vk::Bool32,\n}\n","Rust","rs",[115],{"type":13,"tag":21,"props":116,"children":117},{"__ignoreMap":39},[118,141,174,196,225],{"type":13,"tag":45,"props":119,"children":120},{"class":47,"line":48},[121,126,130,136],{"type":13,"tag":45,"props":122,"children":123},{"style":52},[124],{"type":18,"value":125},"pub",{"type":13,"tag":45,"props":127,"children":128},{"style":52},[129],{"type":18,"value":60},{"type":13,"tag":45,"props":131,"children":133},{"style":132},"--shiki-default:#953800;--shiki-dark:#FFA657",[134],{"type":18,"value":135}," PhysicalDeviceBlendOperationAdvancedFeaturesEXT",{"type":13,"tag":45,"props":137,"children":138},{"style":63},[139],{"type":18,"value":140}," {\n",{"type":13,"tag":45,"props":142,"children":143},{"class":47,"line":69},[144,149,154,159,164,169],{"type":13,"tag":45,"props":145,"children":146},{"style":63},[147],{"type":18,"value":148}," s_type",{"type":13,"tag":45,"props":150,"children":151},{"style":52},[152],{"type":18,"value":153},":",{"type":13,"tag":45,"props":155,"children":156},{"style":132},[157],{"type":18,"value":158}," vk",{"type":13,"tag":45,"props":160,"children":161},{"style":52},[162],{"type":18,"value":163},"::",{"type":13,"tag":45,"props":165,"children":166},{"style":132},[167],{"type":18,"value":168},"StructureType",{"type":13,"tag":45,"props":170,"children":171},{"style":63},[172],{"type":18,"value":173},",\n",{"type":13,"tag":45,"props":175,"children":176},{"class":47,"line":78},[177,182,186,191],{"type":13,"tag":45,"props":178,"children":179},{"style":63},[180],{"type":18,"value":181}," p_next",{"type":13,"tag":45,"props":183,"children":184},{"style":52},[185],{"type":18,"value":153},{"type":13,"tag":45,"props":187,"children":188},{"style":52},[189],{"type":18,"value":190}," *mut",{"type":13,"tag":45,"props":192,"children":193},{"style":63},[194],{"type":18,"value":195}," c_void,\n",{"type":13,"tag":45,"props":197,"children":198},{"class":47,"line":92},[199,204,208,212,216,221],{"type":13,"tag":45,"props":200,"children":201},{"style":63},[202],{"type":18,"value":203}," advanced_blend_coherent_operations",{"type":13,"tag":45,"props":205,"children":206},{"style":52},[207],{"type":18,"value":153},{"type":13,"tag":45,"props":209,"children":210},{"style":132},[211],{"type":18,"value":158},{"type":13,"tag":45,"props":213,"children":214},{"style":52},[215],{"type":18,"value":163},{"type":13,"tag":45,"props":217,"children":218},{"style":132},[219],{"type":18,"value":220},"Bool32",{"type":13,"tag":45,"props":222,"children":223},{"style":63},[224],{"type":18,"value":173},{"type":13,"tag":45,"props":226,"children":227},{"class":47,"line":101},[228],{"type":13,"tag":45,"props":229,"children":230},{"style":63},[231],{"type":18,"value":232},"}\n",{"type":13,"tag":14,"props":234,"children":235},{},[236],{"type":18,"value":237},"This structure describes the following feature:",{"type":13,"tag":239,"props":240,"children":241},"ul",{},[242,263,282],{"type":13,"tag":243,"props":244,"children":245},"li",{},[246,252,254,261],{"type":13,"tag":21,"props":247,"children":249},{"className":248},[],[250],{"type":18,"value":251},"sType",{"type":18,"value":253}," is a ",{"type":13,"tag":255,"props":256,"children":258},"a",{"href":257},"/man/VkStructureType",[259],{"type":18,"value":260},"VkStructureType",{"type":18,"value":262}," value identifying this structure.",{"type":13,"tag":243,"props":264,"children":265},{},[266,272,274,280],{"type":13,"tag":21,"props":267,"children":269},{"className":268},[],[270],{"type":18,"value":271},"pNext",{"type":18,"value":273}," is ",{"type":13,"tag":21,"props":275,"children":277},{"className":276},[],[278],{"type":18,"value":279},"NULL",{"type":18,"value":281}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":243,"props":283,"children":284},{},[285,290,296,298,304,306,312,314,320,321,327,329,335,337,343],{"type":13,"tag":286,"props":287,"children":289},"anchor",{"id":288},"features-advancedBlendCoherentOperations",[],{"type":13,"tag":21,"props":291,"children":293},{"className":292},[],[294],{"type":18,"value":295},"advancedBlendCoherentOperations",{"type":18,"value":297}," specifies whether blending using\n",{"type":13,"tag":255,"props":299,"children":301},{"href":300},"/chapters/framebuffer#framebuffer-blend-advanced",[302],{"type":18,"value":303},"advanced blend operations",{"type":18,"value":305}," is guaranteed\nto execute atomically and in ",{"type":13,"tag":255,"props":307,"children":309},{"href":308},"/chapters/drawing#drawing-primitive-order",[310],{"type":18,"value":311},"primitive\norder",{"type":18,"value":313},".\nIf this is ",{"type":13,"tag":21,"props":315,"children":317},{"className":316},[],[318],{"type":18,"value":319},"VK_TRUE",{"type":18,"value":173},{"type":13,"tag":21,"props":322,"children":324},{"className":323},[],[325],{"type":18,"value":326},"VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT",{"type":18,"value":328}," is treated the\nsame as ",{"type":13,"tag":21,"props":330,"children":332},{"className":331},[],[333],{"type":18,"value":334},"VK_ACCESS_COLOR_ATTACHMENT_READ_BIT",{"type":18,"value":336},", and advanced blending\nneeds no additional synchronization over basic blending.\nIf this is ",{"type":13,"tag":21,"props":338,"children":340},{"className":339},[],[341],{"type":18,"value":342},"VK_FALSE",{"type":18,"value":344},", then memory dependencies are required to\nguarantee order between two advanced blending operations that occur on\nthe same sample.",{"type":13,"tag":14,"props":346,"children":347},{},[348,350,355,357,362,364,370,372,378,380,385,387,392,394,399,401,407],{"type":18,"value":349},"If the ",{"type":13,"tag":21,"props":351,"children":353},{"className":352},[],[354],{"type":18,"value":4},{"type":18,"value":356}," structure is included in the ",{"type":13,"tag":21,"props":358,"children":360},{"className":359},[],[361],{"type":18,"value":271},{"type":18,"value":363}," chain of the\n",{"type":13,"tag":255,"props":365,"children":367},{"href":366},"/man/VkPhysicalDeviceFeatures2",[368],{"type":18,"value":369},"VkPhysicalDeviceFeatures2",{"type":18,"value":371}," structure passed to\n",{"type":13,"tag":255,"props":373,"children":375},{"href":374},"/man/vkGetPhysicalDeviceFeatures2",[376],{"type":18,"value":377},"vkGetPhysicalDeviceFeatures2",{"type":18,"value":379},", it is filled in to indicate whether each\ncorresponding feature is supported.\n",{"type":13,"tag":21,"props":381,"children":383},{"className":382},[],[384],{"type":18,"value":4},{"type":18,"value":386}," ",{"type":13,"tag":388,"props":389,"children":391},"normative",{"type":390},"can",[],{"type":18,"value":393}," also be used in the ",{"type":13,"tag":21,"props":395,"children":397},{"className":396},[],[398],{"type":18,"value":271},{"type":18,"value":400}," chain of\n",{"type":13,"tag":255,"props":402,"children":404},{"href":403},"/man/VkDeviceCreateInfo",[405],{"type":18,"value":406},"VkDeviceCreateInfo",{"type":18,"value":408}," to selectively enable these features.",{"type":13,"tag":410,"props":411,"children":413},"validity-group",{"name":412},"Valid Usage (Implicit)",[414],{"type":13,"tag":415,"props":416,"children":418},"validity-field",{"name":417},"VUID-VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT-sType-sType",[419],{"type":13,"tag":14,"props":420,"children":421},{},[422,427,428,432,434],{"type":13,"tag":21,"props":423,"children":425},{"className":424},[],[426],{"type":18,"value":251},{"type":18,"value":386},{"type":13,"tag":388,"props":429,"children":431},{"type":430},"must",[],{"type":18,"value":433}," be ",{"type":13,"tag":21,"props":435,"children":437},{"className":436},[],[438],{"type":18,"value":439},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT",{"type":13,"tag":441,"props":442,"children":443},"style",{},[444],{"type":18,"value":445},"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":447},[],"markdown",1725732565736]