[{"data":1,"prerenderedAt":318},["ShallowReactive",2],{"o8aOS4e60r":3},{"title":4,"description":5,"type":6,"xrefs":7,"body":8,"_type":317,"_id":4},"ViewportMaskPerViewNV","Mask of viewports broadcast to per view","builtins",[],{"type":9,"children":10,"toc":313},"root",[11,24,37,65,89,116],{"type":12,"tag":13,"props":14,"children":16},"element","h6",{"id":15},"viewportmaskperviewnv",[17],{"type":12,"tag":18,"props":19,"children":21},"code",{"className":20},[],[22],{"type":23,"value":4},"text",{"type":12,"tag":25,"props":26,"children":27},"p",{},[28,30,35],{"type":23,"value":29},"Decorating a variable with the ",{"type":12,"tag":18,"props":31,"children":33},{"className":32},[],[34],{"type":23,"value":4},{"type":23,"value":36}," built-in\ndecoration will make that variable contain the mask of viewports primitives\nare broadcast to, for each view.",{"type":12,"tag":25,"props":38,"children":39},{},[40,42,47,49,56,58,63],{"type":23,"value":41},"The value written to an element of ",{"type":12,"tag":18,"props":43,"children":45},{"className":44},[],[46],{"type":23,"value":4},{"type":23,"value":48}," in the last\n",{"type":12,"tag":50,"props":51,"children":53},"a",{"href":52},"/man/VkGraphicsPipelineCreateInfo#pipelines-graphics-subsets-pre-rasterization",[54],{"type":23,"value":55},"pre-rasterization shader\nstage",{"type":23,"value":57}," is a bitmask indicating which viewports the primitive will be\ndirected to.\nThe primitive will be broadcast to the viewport corresponding to each\nnon-zero bit of the bitmask, and that viewport index is used to select the\nviewport transform, scissor rectangle, and exclusive\nscissor rectangle, for each view.\nThe same values ",{"type":12,"tag":59,"props":60,"children":62},"normative",{"type":61},"must",[],{"type":23,"value":64}," be written to all vertices in a given primitive, or\nelse the set of viewports used for that primitive is undefined:.",{"type":12,"tag":25,"props":66,"children":67},{},[68,70,75,77,81,83,87],{"type":23,"value":69},"Elements of the array correspond to views in a multiview subpass, and those\nelements corresponding to views in the view mask of the subpass the shader\nis compiled against will be used as the viewport mask value for those views.\n",{"type":12,"tag":18,"props":71,"children":73},{"className":72},[],[74],{"type":23,"value":4},{"type":23,"value":76}," output in an earlier\n",{"type":12,"tag":50,"props":78,"children":79},{"href":52},[80],{"type":23,"value":55},{"type":23,"value":82}," is not available as an input in the subsequent\n",{"type":12,"tag":50,"props":84,"children":85},{"href":52},[86],{"type":23,"value":55},{"type":23,"value":88},".",{"type":12,"tag":25,"props":90,"children":91},{},[92,94,100,102,107,109,114],{"type":23,"value":93},"Although ",{"type":12,"tag":18,"props":95,"children":97},{"className":96},[],[98],{"type":23,"value":99},"ViewportMaskNV",{"type":23,"value":101}," is an array, ",{"type":12,"tag":18,"props":103,"children":105},{"className":104},[],[106],{"type":23,"value":4},{"type":23,"value":108}," is not\na two-dimensional array.\nInstead, ",{"type":12,"tag":18,"props":110,"children":112},{"className":111},[],[113],{"type":23,"value":4},{"type":23,"value":115}," is limited to 32 viewports.",{"type":12,"tag":117,"props":118,"children":120},"validity-group",{"name":119},"Valid Usage",[121,195,235,254,274,293],{"type":12,"tag":122,"props":123,"children":125},"validity-field",{"name":124},"VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04412",[126],{"type":12,"tag":25,"props":127,"children":128},{},[129,131,136,138,141,143,149,151,157,158,164,166,172,174,180,182,188,189],{"type":23,"value":130},"The ",{"type":12,"tag":18,"props":132,"children":134},{"className":133},[],[135],{"type":23,"value":4},{"type":23,"value":137}," decoration ",{"type":12,"tag":59,"props":139,"children":140},{"type":61},[],{"type":23,"value":142}," be used only within the\n",{"type":12,"tag":18,"props":144,"children":146},{"className":145},[],[147],{"type":23,"value":148},"Vertex",{"type":23,"value":150},", ",{"type":12,"tag":18,"props":152,"children":154},{"className":153},[],[155],{"type":23,"value":156},"MeshNV",{"type":23,"value":150},{"type":12,"tag":18,"props":159,"children":161},{"className":160},[],[162],{"type":23,"value":163},"TessellationControl",{"type":23,"value":165},",\n",{"type":12,"tag":18,"props":167,"children":169},{"className":168},[],[170],{"type":23,"value":171},"TessellationEvaluation",{"type":23,"value":173},", or ",{"type":12,"tag":18,"props":175,"children":177},{"className":176},[],[178],{"type":23,"value":179},"Geometry",{"type":23,"value":181}," ",{"type":12,"tag":18,"props":183,"children":185},{"className":184},[],[186],{"type":23,"value":187},"Execution",{"type":23,"value":181},{"type":12,"tag":18,"props":190,"children":192},{"className":191},[],[193],{"type":23,"value":194},"Model",{"type":12,"tag":122,"props":196,"children":198},{"name":197},"VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04413",[199],{"type":12,"tag":25,"props":200,"children":201},{},[202,204,209,210,213,215,221,222,228,229],{"type":23,"value":203},"The variable decorated with ",{"type":12,"tag":18,"props":205,"children":207},{"className":206},[],[208],{"type":23,"value":4},{"type":23,"value":181},{"type":12,"tag":59,"props":211,"children":212},{"type":61},[],{"type":23,"value":214}," be declared\nusing the ",{"type":12,"tag":18,"props":216,"children":218},{"className":217},[],[219],{"type":23,"value":220},"Output",{"type":23,"value":181},{"type":12,"tag":18,"props":223,"children":225},{"className":224},[],[226],{"type":23,"value":227},"Storage",{"type":23,"value":181},{"type":12,"tag":18,"props":230,"children":232},{"className":231},[],[233],{"type":23,"value":234},"Class",{"type":12,"tag":122,"props":236,"children":238},{"name":237},"VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04414",[239],{"type":12,"tag":25,"props":240,"children":241},{},[242,243,248,249,252],{"type":23,"value":203},{"type":12,"tag":18,"props":244,"children":246},{"className":245},[],[247],{"type":23,"value":4},{"type":23,"value":181},{"type":12,"tag":59,"props":250,"children":251},{"type":61},[],{"type":23,"value":253}," be declared\nas an array of 32-bit integer values",{"type":12,"tag":122,"props":255,"children":257},{"name":256},"VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04415",[258],{"type":12,"tag":25,"props":259,"children":260},{},[261,263,268,269,272],{"type":23,"value":262},"The array decorated with ",{"type":12,"tag":18,"props":264,"children":266},{"className":265},[],[267],{"type":23,"value":4},{"type":23,"value":181},{"type":12,"tag":59,"props":270,"children":271},{"type":61},[],{"type":23,"value":273}," be a size less\nthan or equal to 32",{"type":12,"tag":122,"props":275,"children":277},{"name":276},"VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04416",[278],{"type":12,"tag":25,"props":279,"children":280},{},[281,282,287,288,291],{"type":23,"value":262},{"type":12,"tag":18,"props":283,"children":285},{"className":284},[],[286],{"type":23,"value":4},{"type":23,"value":181},{"type":12,"tag":59,"props":289,"children":290},{"type":61},[],{"type":23,"value":292}," be a size\ngreater than the maximum view in the subpass’s view mask",{"type":12,"tag":122,"props":294,"children":296},{"name":295},"VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04417",[297],{"type":12,"tag":25,"props":298,"children":299},{},[300,302,307,308,311],{"type":23,"value":301},"The array variable decorated with ",{"type":12,"tag":18,"props":303,"children":305},{"className":304},[],[306],{"type":23,"value":4},{"type":23,"value":181},{"type":12,"tag":59,"props":309,"children":310},{"type":61},[],{"type":23,"value":312}," only\nbe indexed by a constant or specialization constant",{"title":314,"searchDepth":315,"depth":315,"links":316},"",2,[],"markdown",1725732536884]