[{"data":1,"prerenderedAt":684},["ShallowReactive",2],{"D8vlFQPXxl":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":683,"_id":4},"vkCmdSetColorWriteMaskEXT","Specify the color write masks for each attachment dynamically for a command buffer","VK_EXT_extended_dynamic_state3, VK_EXT_shader_object",[8,9],"primary","secondary","both",[12],"graphics",[14],"state","protos",[],{"type":18,"children":19,"toc":681},"root",[20,37,309,378,429,454,476,629,675],{"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 color write masks, call:",{"type":21,"tag":38,"props":39,"children":40},"code-group",{},[41,162],{"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 vkCmdSetColorWriteMaskEXT(\n VkCommandBuffer commandBuffer,\n uint32_t firstAttachment,\n uint32_t attachmentCount,\n const VkColorComponentFlags* pColorWriteMasks);\n","C","c","",[50],{"type":21,"tag":51,"props":52,"children":53},"code",{"__ignoreMap":48},[54,78,98,116,133],{"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}," vkCmdSetColorWriteMaskEXT",{"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],{"type":21,"tag":55,"props":103,"children":104},{"style":62},[105],{"type":26,"value":106}," uint32_t",{"type":21,"tag":55,"props":108,"children":109},{"style":89},[110],{"type":26,"value":111}," firstAttachment",{"type":21,"tag":55,"props":113,"children":114},{"style":74},[115],{"type":26,"value":97},{"type":21,"tag":55,"props":117,"children":119},{"class":57,"line":118},4,[120,124,129],{"type":21,"tag":55,"props":121,"children":122},{"style":62},[123],{"type":26,"value":106},{"type":21,"tag":55,"props":125,"children":126},{"style":89},[127],{"type":26,"value":128}," attachmentCount",{"type":21,"tag":55,"props":130,"children":131},{"style":74},[132],{"type":26,"value":97},{"type":21,"tag":55,"props":134,"children":136},{"class":57,"line":135},5,[137,142,147,152,157],{"type":21,"tag":55,"props":138,"children":139},{"style":62},[140],{"type":26,"value":141}," const",{"type":21,"tag":55,"props":143,"children":144},{"style":74},[145],{"type":26,"value":146}," VkColorComponentFlags",{"type":21,"tag":55,"props":148,"children":149},{"style":62},[150],{"type":26,"value":151},"*",{"type":21,"tag":55,"props":153,"children":154},{"style":89},[155],{"type":26,"value":156}," pColorWriteMasks",{"type":21,"tag":55,"props":158,"children":159},{"style":74},[160],{"type":26,"value":161},");\n",{"type":21,"tag":42,"props":163,"children":168},{"className":164,"code":165,"filename":166,"language":167,"meta":48,"style":48},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_set_color_write_mask_ext(\n command_buffer: vk::CommandBuffer,\n first_attachment: u32,\n attachment_count: u32,\n p_color_write_masks: *const vk::ColorComponentFlags,\n);\n","Rust","rs",[169],{"type":21,"tag":51,"props":170,"children":171},{"__ignoreMap":48},[172,194,226,247,267,301],{"type":21,"tag":55,"props":173,"children":174},{"class":57,"line":58},[175,180,185,190],{"type":21,"tag":55,"props":176,"children":177},{"style":62},[178],{"type":26,"value":179},"pub",{"type":21,"tag":55,"props":181,"children":182},{"style":62},[183],{"type":26,"value":184}," fn",{"type":21,"tag":55,"props":186,"children":187},{"style":68},[188],{"type":26,"value":189}," cmd_set_color_write_mask_ext",{"type":21,"tag":55,"props":191,"children":192},{"style":74},[193],{"type":26,"value":77},{"type":21,"tag":55,"props":195,"children":196},{"class":57,"line":80},[197,202,207,212,217,222],{"type":21,"tag":55,"props":198,"children":199},{"style":74},[200],{"type":26,"value":201}," command_buffer",{"type":21,"tag":55,"props":203,"children":204},{"style":62},[205],{"type":26,"value":206},":",{"type":21,"tag":55,"props":208,"children":209},{"style":89},[210],{"type":26,"value":211}," vk",{"type":21,"tag":55,"props":213,"children":214},{"style":62},[215],{"type":26,"value":216},"::",{"type":21,"tag":55,"props":218,"children":219},{"style":89},[220],{"type":26,"value":221},"CommandBuffer",{"type":21,"tag":55,"props":223,"children":224},{"style":74},[225],{"type":26,"value":97},{"type":21,"tag":55,"props":227,"children":228},{"class":57,"line":100},[229,234,238,243],{"type":21,"tag":55,"props":230,"children":231},{"style":74},[232],{"type":26,"value":233}," first_attachment",{"type":21,"tag":55,"props":235,"children":236},{"style":62},[237],{"type":26,"value":206},{"type":21,"tag":55,"props":239,"children":240},{"style":89},[241],{"type":26,"value":242}," u32",{"type":21,"tag":55,"props":244,"children":245},{"style":74},[246],{"type":26,"value":97},{"type":21,"tag":55,"props":248,"children":249},{"class":57,"line":118},[250,255,259,263],{"type":21,"tag":55,"props":251,"children":252},{"style":74},[253],{"type":26,"value":254}," attachment_count",{"type":21,"tag":55,"props":256,"children":257},{"style":62},[258],{"type":26,"value":206},{"type":21,"tag":55,"props":260,"children":261},{"style":89},[262],{"type":26,"value":242},{"type":21,"tag":55,"props":264,"children":265},{"style":74},[266],{"type":26,"value":97},{"type":21,"tag":55,"props":268,"children":269},{"class":57,"line":135},[270,275,279,284,288,292,297],{"type":21,"tag":55,"props":271,"children":272},{"style":74},[273],{"type":26,"value":274}," p_color_write_masks",{"type":21,"tag":55,"props":276,"children":277},{"style":62},[278],{"type":26,"value":206},{"type":21,"tag":55,"props":280,"children":281},{"style":62},[282],{"type":26,"value":283}," *const",{"type":21,"tag":55,"props":285,"children":286},{"style":89},[287],{"type":26,"value":211},{"type":21,"tag":55,"props":289,"children":290},{"style":62},[291],{"type":26,"value":216},{"type":21,"tag":55,"props":293,"children":294},{"style":89},[295],{"type":26,"value":296},"ColorComponentFlags",{"type":21,"tag":55,"props":298,"children":299},{"style":74},[300],{"type":26,"value":97},{"type":21,"tag":55,"props":302,"children":304},{"class":57,"line":303},6,[305],{"type":21,"tag":55,"props":306,"children":307},{"style":74},[308],{"type":26,"value":161},{"type":21,"tag":310,"props":311,"children":312},"ul",{},[313,324,335,362],{"type":21,"tag":314,"props":315,"children":316},"li",{},[317,322],{"type":21,"tag":51,"props":318,"children":320},{"className":319},[],[321],{"type":26,"value":92},{"type":26,"value":323}," is the command buffer into which the command will be\nrecorded.",{"type":21,"tag":314,"props":325,"children":326},{},[327,333],{"type":21,"tag":51,"props":328,"children":330},{"className":329},[],[331],{"type":26,"value":332},"firstAttachment",{"type":26,"value":334}," the first color attachment the color write masks\napply to.",{"type":21,"tag":314,"props":336,"children":337},{},[338,344,346,352,354,360],{"type":21,"tag":51,"props":339,"children":341},{"className":340},[],[342],{"type":26,"value":343},"attachmentCount",{"type":26,"value":345}," the number of ",{"type":21,"tag":29,"props":347,"children":349},{"href":348},"/man/VkColorComponentFlags",[350],{"type":26,"value":351},"VkColorComponentFlags",{"type":26,"value":353}," values\nin the ",{"type":21,"tag":51,"props":355,"children":357},{"className":356},[],[358],{"type":26,"value":359},"pColorWriteMasks",{"type":26,"value":361}," array.",{"type":21,"tag":314,"props":363,"children":364},{},[365,370,372,376],{"type":21,"tag":51,"props":366,"children":368},{"className":367},[],[369],{"type":26,"value":359},{"type":26,"value":371}," an array of ",{"type":21,"tag":29,"props":373,"children":374},{"href":348},[375],{"type":26,"value":351},{"type":26,"value":377}," values\nthat specify the color write masks of the corresponding attachments.",{"type":21,"tag":22,"props":379,"children":380},{},[381,383,389,391,397,399,405,406,412,414,420,421,427],{"type":26,"value":382},"This command sets the color write masks of the specified attachments for\nsubsequent drawing commands\nwhen drawing using ",{"type":21,"tag":29,"props":384,"children":386},{"href":385},"/chapters/shaders#shaders-objects",[387],{"type":26,"value":388},"shader objects",{"type":26,"value":390},", or\nwhen the graphics pipeline is created with\n",{"type":21,"tag":51,"props":392,"children":394},{"className":393},[],[395],{"type":26,"value":396},"VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT",{"type":26,"value":398}," set in\n",{"type":21,"tag":29,"props":400,"children":402},{"href":401},"/man/VkPipelineDynamicStateCreateInfo",[403],{"type":26,"value":404},"VkPipelineDynamicStateCreateInfo",{"type":26,"value":216},{"type":21,"tag":51,"props":407,"children":409},{"className":408},[],[410],{"type":26,"value":411},"pDynamicStates",{"type":26,"value":413},".\nOtherwise, this state is specified by the\n",{"type":21,"tag":29,"props":415,"children":417},{"href":416},"/man/VkPipelineColorBlendAttachmentState",[418],{"type":26,"value":419},"VkPipelineColorBlendAttachmentState",{"type":26,"value":216},{"type":21,"tag":51,"props":422,"children":424},{"className":423},[],[425],{"type":26,"value":426},"colorWriteMask",{"type":26,"value":428}," values used\nto create the currently active pipeline.",{"type":21,"tag":430,"props":431,"children":432},"note",{},[433],{"type":21,"tag":22,"props":434,"children":435},{},[436,438,444,446,452],{"type":26,"value":437},"Formats with bits that are shared between components specified by\n",{"type":21,"tag":29,"props":439,"children":441},{"href":440},"/man/VkColorComponentFlagBits",[442],{"type":26,"value":443},"VkColorComponentFlagBits",{"type":26,"value":445},", such as\n",{"type":21,"tag":51,"props":447,"children":449},{"className":448},[],[450],{"type":26,"value":451},"VK_FORMAT_E5B9G9R9_UFLOAT_PACK32",{"type":26,"value":453},", cannot have their channels\nindividually masked by this functionality; either all components that share\nbits have to be enabled, or none of them.",{"type":21,"tag":455,"props":456,"children":458},"validity-group",{"name":457},"Valid Usage",[459],{"type":21,"tag":460,"props":461,"children":463},"validity-field",{"name":462},"VUID-vkCmdSetColorWriteMaskEXT-None-09423",[464],{"type":21,"tag":22,"props":465,"children":466},{},[467,469,474],{"type":26,"value":468},"At least one of the following ",{"type":21,"tag":470,"props":471,"children":473},"normative",{"type":472},"must",[],{"type":26,"value":475}," be true:",{"type":21,"tag":455,"props":477,"children":479},{"name":478},"Valid Usage (Implicit)",[480,507,538,562,591,605],{"type":21,"tag":460,"props":481,"children":483},{"name":482},"VUID-vkCmdSetColorWriteMaskEXT-commandBuffer-parameter",[484],{"type":21,"tag":22,"props":485,"children":486},{},[487,492,494,497,499,505],{"type":21,"tag":51,"props":488,"children":490},{"className":489},[],[491],{"type":26,"value":92},{"type":26,"value":493}," ",{"type":21,"tag":470,"props":495,"children":496},{"type":472},[],{"type":26,"value":498}," be a valid ",{"type":21,"tag":29,"props":500,"children":502},{"href":501},"/man/VkCommandBuffer",[503],{"type":26,"value":504},"VkCommandBuffer",{"type":26,"value":506}," handle",{"type":21,"tag":460,"props":508,"children":510},{"name":509},"VUID-vkCmdSetColorWriteMaskEXT-pColorWriteMasks-parameter",[511],{"type":21,"tag":22,"props":512,"children":513},{},[514,519,520,523,525,530,532,536],{"type":21,"tag":51,"props":515,"children":517},{"className":516},[],[518],{"type":26,"value":359},{"type":26,"value":493},{"type":21,"tag":470,"props":521,"children":522},{"type":472},[],{"type":26,"value":524}," be a valid pointer to an array of ",{"type":21,"tag":51,"props":526,"children":528},{"className":527},[],[529],{"type":26,"value":343},{"type":26,"value":531}," valid combinations of ",{"type":21,"tag":29,"props":533,"children":534},{"href":440},[535],{"type":26,"value":443},{"type":26,"value":537}," values",{"type":21,"tag":460,"props":539,"children":541},{"name":540},"VUID-vkCmdSetColorWriteMaskEXT-commandBuffer-recording",[542],{"type":21,"tag":22,"props":543,"children":544},{},[545,550,551,554,556],{"type":21,"tag":51,"props":546,"children":548},{"className":547},[],[549],{"type":26,"value":92},{"type":26,"value":493},{"type":21,"tag":470,"props":552,"children":553},{"type":472},[],{"type":26,"value":555}," be in the ",{"type":21,"tag":29,"props":557,"children":559},{"href":558},"/chapters/commandbuffers#commandbuffers-lifecycle",[560],{"type":26,"value":561},"recording state",{"type":21,"tag":460,"props":563,"children":565},{"name":564},"VUID-vkCmdSetColorWriteMaskEXT-commandBuffer-cmdpool",[566],{"type":21,"tag":22,"props":567,"children":568},{},[569,571,577,579,584,586,589],{"type":26,"value":570},"The ",{"type":21,"tag":51,"props":572,"children":574},{"className":573},[],[575],{"type":26,"value":576},"VkCommandPool",{"type":26,"value":578}," that ",{"type":21,"tag":51,"props":580,"children":582},{"className":581},[],[583],{"type":26,"value":92},{"type":26,"value":585}," was allocated from ",{"type":21,"tag":470,"props":587,"children":588},{"type":472},[],{"type":26,"value":590}," support graphics operations",{"type":21,"tag":460,"props":592,"children":594},{"name":593},"VUID-vkCmdSetColorWriteMaskEXT-videocoding",[595],{"type":21,"tag":22,"props":596,"children":597},{},[598,600,603],{"type":26,"value":599},"This command ",{"type":21,"tag":470,"props":601,"children":602},{"type":472},[],{"type":26,"value":604}," only be called outside of a video coding scope",{"type":21,"tag":460,"props":606,"children":608},{"name":607},"VUID-vkCmdSetColorWriteMaskEXT-attachmentCount-arraylength",[609],{"type":21,"tag":22,"props":610,"children":611},{},[612,617,618,621,623],{"type":21,"tag":51,"props":613,"children":615},{"className":614},[],[616],{"type":26,"value":343},{"type":26,"value":493},{"type":21,"tag":470,"props":619,"children":620},{"type":472},[],{"type":26,"value":622}," be greater than ",{"type":21,"tag":51,"props":624,"children":626},{"className":625},[],[627],{"type":26,"value":628},"0",{"type":21,"tag":630,"props":631,"children":633},"validity-box",{"name":632},"Host Synchronization",[634],{"type":21,"tag":310,"props":635,"children":636},{},[637,653],{"type":21,"tag":314,"props":638,"children":639},{},[640,642,647,648,651],{"type":26,"value":641},"Host access to ",{"type":21,"tag":51,"props":643,"children":645},{"className":644},[],[646],{"type":26,"value":92},{"type":26,"value":493},{"type":21,"tag":470,"props":649,"children":650},{"type":472},[],{"type":26,"value":652}," be externally synchronized",{"type":21,"tag":314,"props":654,"children":655},{},[656,658,663,664,669,670,673],{"type":26,"value":657},"Host access to the ",{"type":21,"tag":51,"props":659,"children":661},{"className":660},[],[662],{"type":26,"value":576},{"type":26,"value":578},{"type":21,"tag":51,"props":665,"children":667},{"className":666},[],[668],{"type":26,"value":92},{"type":26,"value":585},{"type":21,"tag":470,"props":671,"children":672},{"type":472},[],{"type":26,"value":674}," be externally synchronized\n::",{"type":21,"tag":676,"props":677,"children":678},"style",{},[679],{"type":26,"value":680},"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":682},[],"markdown",1725732607933]