[{"data":1,"prerenderedAt":370},["ShallowReactive",2],{"T5GMVVU3x9":3},{"title":4,"description":5,"type":6,"xrefs":7,"body":8,"_type":369,"_id":4},"PositionPerViewNV","Vertex position per view","builtins",[],{"type":9,"children":10,"toc":365},"root",[11,24,37,85,105],{"type":12,"tag":13,"props":14,"children":16},"element","h6",{"id":15},"positionperviewnv",[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 decoration\nwill make that variable contain the position of the current vertex, for each\nview.",{"type":12,"tag":25,"props":38,"children":39},{},[40,42,49,51,56,58,64,66,71,73,77,79,83],{"type":23,"value":41},"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 position value for those views.\nFor the final\n",{"type":12,"tag":43,"props":44,"children":46},"a",{"href":45},"/man/VkGraphicsPipelineCreateInfo#pipelines-graphics-subsets-pre-rasterization",[47],{"type":23,"value":48},"pre-rasterization shader\nstage",{"type":23,"value":50}," in the pipeline, values written to an output variable decorated with\n",{"type":12,"tag":18,"props":52,"children":54},{"className":53},[],[55],{"type":23,"value":4},{"type":23,"value":57}," are used in subsequent primitive assembly, clipping,\nand rasterization operations, as with ",{"type":12,"tag":18,"props":59,"children":61},{"className":60},[],[62],{"type":23,"value":63},"Position",{"type":23,"value":65},".\n",{"type":12,"tag":18,"props":67,"children":69},{"className":68},[],[70],{"type":23,"value":4},{"type":23,"value":72}," output in an earlier\n",{"type":12,"tag":43,"props":74,"children":75},{"href":45},[76],{"type":23,"value":48},{"type":23,"value":78}," is available as an input in the subsequent\n",{"type":12,"tag":43,"props":80,"children":81},{"href":45},[82],{"type":23,"value":48},{"type":23,"value":84},".",{"type":12,"tag":25,"props":86,"children":87},{},[88,90,96,98,103],{"type":23,"value":89},"If a shader is compiled against a subpass that has the\n",{"type":12,"tag":18,"props":91,"children":93},{"className":92},[],[94],{"type":23,"value":95},"VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX",{"type":23,"value":97}," bit set, then\nthe position values for each view ",{"type":12,"tag":99,"props":100,"children":102},"normative",{"type":101},"must",[],{"type":23,"value":104}," not differ in any component other\nthan the X component.\nIf the values do differ, one will be chosen in an implementation-dependent\nmanner.",{"type":12,"tag":106,"props":107,"children":109},"validity-group",{"name":108},"Valid Usage",[110,184,249,326,345],{"type":12,"tag":111,"props":112,"children":114},"validity-field",{"name":113},"VUID-PositionPerViewNV-PositionPerViewNV-04322",[115],{"type":12,"tag":25,"props":116,"children":117},{},[118,120,125,127,130,132,138,140,146,147,153,155,161,163,169,171,177,178],{"type":23,"value":119},"The ",{"type":12,"tag":18,"props":121,"children":123},{"className":122},[],[124],{"type":23,"value":4},{"type":23,"value":126}," decoration ",{"type":12,"tag":99,"props":128,"children":129},{"type":101},[],{"type":23,"value":131}," be used only within the\n",{"type":12,"tag":18,"props":133,"children":135},{"className":134},[],[136],{"type":23,"value":137},"MeshNV",{"type":23,"value":139},", ",{"type":12,"tag":18,"props":141,"children":143},{"className":142},[],[144],{"type":23,"value":145},"Vertex",{"type":23,"value":139},{"type":12,"tag":18,"props":148,"children":150},{"className":149},[],[151],{"type":23,"value":152},"TessellationControl",{"type":23,"value":154},",\n",{"type":12,"tag":18,"props":156,"children":158},{"className":157},[],[159],{"type":23,"value":160},"TessellationEvaluation",{"type":23,"value":162},", or ",{"type":12,"tag":18,"props":164,"children":166},{"className":165},[],[167],{"type":23,"value":168},"Geometry",{"type":23,"value":170}," ",{"type":12,"tag":18,"props":172,"children":174},{"className":173},[],[175],{"type":23,"value":176},"Execution",{"type":23,"value":170},{"type":12,"tag":18,"props":179,"children":181},{"className":180},[],[182],{"type":23,"value":183},"Model",{"type":12,"tag":111,"props":185,"children":187},{"name":186},"VUID-PositionPerViewNV-PositionPerViewNV-04323",[188],{"type":12,"tag":25,"props":189,"children":190},{},[191,193,198,200,205,206,211,212,217,218,223,224,227,229,235,236,242,243],{"type":23,"value":192},"The variable decorated with ",{"type":12,"tag":18,"props":194,"children":196},{"className":195},[],[197],{"type":23,"value":4},{"type":23,"value":199}," within the\n",{"type":12,"tag":18,"props":201,"children":203},{"className":202},[],[204],{"type":23,"value":145},{"type":23,"value":162},{"type":12,"tag":18,"props":207,"children":209},{"className":208},[],[210],{"type":23,"value":137},{"type":23,"value":170},{"type":12,"tag":18,"props":213,"children":215},{"className":214},[],[216],{"type":23,"value":176},{"type":23,"value":170},{"type":12,"tag":18,"props":219,"children":221},{"className":220},[],[222],{"type":23,"value":183},{"type":23,"value":170},{"type":12,"tag":99,"props":225,"children":226},{"type":101},[],{"type":23,"value":228}," be declared using the\n",{"type":12,"tag":18,"props":230,"children":232},{"className":231},[],[233],{"type":23,"value":234},"Output",{"type":23,"value":170},{"type":12,"tag":18,"props":237,"children":239},{"className":238},[],[240],{"type":23,"value":241},"Storage",{"type":23,"value":170},{"type":12,"tag":18,"props":244,"children":246},{"className":245},[],[247],{"type":23,"value":248},"Class",{"type":12,"tag":111,"props":250,"children":252},{"name":251},"VUID-PositionPerViewNV-PositionPerViewNV-04324",[253,280],{"type":12,"tag":25,"props":254,"children":255},{},[256,257,262,263,268,269,274,275],{"type":23,"value":192},{"type":12,"tag":18,"props":258,"children":260},{"className":259},[],[261],{"type":23,"value":4},{"type":23,"value":199},{"type":12,"tag":18,"props":264,"children":266},{"className":265},[],[267],{"type":23,"value":152},{"type":23,"value":139},{"type":12,"tag":18,"props":270,"children":272},{"className":271},[],[273],{"type":23,"value":160},{"type":23,"value":162},{"type":12,"tag":18,"props":276,"children":278},{"className":277},[],[279],{"type":23,"value":168},{"type":12,"tag":25,"props":281,"children":282},{},[283,288,289,294,295,298,300,305,306,311,313,319,321],{"type":12,"tag":18,"props":284,"children":286},{"className":285},[],[287],{"type":23,"value":176},{"type":23,"value":170},{"type":12,"tag":18,"props":290,"children":292},{"className":291},[],[293],{"type":23,"value":183},{"type":23,"value":170},{"type":12,"tag":99,"props":296,"children":297},{"type":101},[],{"type":23,"value":299}," not be declared using a ",{"type":12,"tag":18,"props":301,"children":303},{"className":302},[],[304],{"type":23,"value":241},{"type":23,"value":170},{"type":12,"tag":18,"props":307,"children":309},{"className":308},[],[310],{"type":23,"value":248},{"type":23,"value":312}," other than\n",{"type":12,"tag":18,"props":314,"children":316},{"className":315},[],[317],{"type":23,"value":318},"Input",{"type":23,"value":320}," or ",{"type":12,"tag":18,"props":322,"children":324},{"className":323},[],[325],{"type":23,"value":234},{"type":12,"tag":111,"props":327,"children":329},{"name":328},"VUID-PositionPerViewNV-PositionPerViewNV-04325",[330],{"type":12,"tag":25,"props":331,"children":332},{},[333,334,339,340,343],{"type":23,"value":192},{"type":12,"tag":18,"props":335,"children":337},{"className":336},[],[338],{"type":23,"value":4},{"type":23,"value":170},{"type":12,"tag":99,"props":341,"children":342},{"type":101},[],{"type":23,"value":344}," be declared as\nan array of four-component vector of 32-bit floating-point values with\nat least as many elements as the maximum view in the subpass’s view mask\nplus one",{"type":12,"tag":111,"props":346,"children":348},{"name":347},"VUID-PositionPerViewNV-PositionPerViewNV-04326",[349],{"type":12,"tag":25,"props":350,"children":351},{},[352,354,359,360,363],{"type":23,"value":353},"The array variable decorated with ",{"type":12,"tag":18,"props":355,"children":357},{"className":356},[],[358],{"type":23,"value":4},{"type":23,"value":170},{"type":12,"tag":99,"props":361,"children":362},{"type":101},[],{"type":23,"value":364}," only be\nindexed by a constant or specialization constant",{"title":366,"searchDepth":367,"depth":367,"links":368},"",2,[],"markdown",1729612426417]