[{"data":1,"prerenderedAt":1158},["ShallowReactive",2],{"X6eKs9n8eO":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1157,"_id":4},"VkPipelineCreateFlagBits","Bitmask controlling how a pipeline is created","VK_VERSION_1_0","enums",[],{"type":10,"children":11,"toc":1155},"root",[12,27,96,101,418,1081,1108,1133,1149],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,25],{"type":18,"value":19},"text","Bits which ",{"type":13,"tag":21,"props":22,"children":24},"normative",{"type":23},"can",[],{"type":18,"value":26}," be set in",{"type":13,"tag":28,"props":29,"children":30},"ul",{},[31,51,66,81],{"type":13,"tag":32,"props":33,"children":34},"li",{},[35,42,44],{"type":13,"tag":36,"props":37,"children":39},"a",{"href":38},"/man/VkGraphicsPipelineCreateInfo",[40],{"type":18,"value":41},"VkGraphicsPipelineCreateInfo",{"type":18,"value":43},"::",{"type":13,"tag":45,"props":46,"children":48},"code",{"className":47},[],[49],{"type":18,"value":50},"flags",{"type":13,"tag":32,"props":52,"children":53},{},[54,60,61],{"type":13,"tag":36,"props":55,"children":57},{"href":56},"/man/VkComputePipelineCreateInfo",[58],{"type":18,"value":59},"VkComputePipelineCreateInfo",{"type":18,"value":43},{"type":13,"tag":45,"props":62,"children":64},{"className":63},[],[65],{"type":18,"value":50},{"type":13,"tag":32,"props":67,"children":68},{},[69,75,76],{"type":13,"tag":36,"props":70,"children":72},{"href":71},"/man/VkRayTracingPipelineCreateInfoKHR",[73],{"type":18,"value":74},"VkRayTracingPipelineCreateInfoKHR",{"type":18,"value":43},{"type":13,"tag":45,"props":77,"children":79},{"className":78},[],[80],{"type":18,"value":50},{"type":13,"tag":32,"props":82,"children":83},{},[84,90,91],{"type":13,"tag":36,"props":85,"children":87},{"href":86},"/man/VkRayTracingPipelineCreateInfoNV",[88],{"type":18,"value":89},"VkRayTracingPipelineCreateInfoNV",{"type":18,"value":43},{"type":13,"tag":45,"props":92,"children":94},{"className":93},[],[95],{"type":18,"value":50},{"type":13,"tag":14,"props":97,"children":98},{},[99],{"type":18,"value":100},"specify how a pipeline is created, and are:",{"type":13,"tag":102,"props":103,"children":104},"code-group",{},[105,231],{"type":13,"tag":106,"props":107,"children":113},"pre",{"className":108,"code":109,"filename":110,"language":111,"meta":112,"style":112},"language-c shiki shiki-themes github-light-default github-dark-default","typedef enum VkPipelineCreateFlagBits {\n VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT = 0x00000001,\n VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT = 0x00000002,\n VK_PIPELINE_CREATE_DERIVATIVE_BIT = 0x00000004,\n} VkPipelineCreateFlagBits;\n","C","c","",[114],{"type":13,"tag":45,"props":115,"children":116},{"__ignoreMap":112},[117,140,170,196,222],{"type":13,"tag":118,"props":119,"children":122},"span",{"class":120,"line":121},"line",1,[123,129,134],{"type":13,"tag":118,"props":124,"children":126},{"style":125},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[127],{"type":18,"value":128},"typedef",{"type":13,"tag":118,"props":130,"children":131},{"style":125},[132],{"type":18,"value":133}," enum",{"type":13,"tag":118,"props":135,"children":137},{"style":136},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[138],{"type":18,"value":139}," VkPipelineCreateFlagBits {\n",{"type":13,"tag":118,"props":141,"children":143},{"class":120,"line":142},2,[144,149,154,159,165],{"type":13,"tag":118,"props":145,"children":146},{"style":136},[147],{"type":18,"value":148}," VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT ",{"type":13,"tag":118,"props":150,"children":151},{"style":125},[152],{"type":18,"value":153},"=",{"type":13,"tag":118,"props":155,"children":156},{"style":125},[157],{"type":18,"value":158}," 0x",{"type":13,"tag":118,"props":160,"children":162},{"style":161},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[163],{"type":18,"value":164},"00000001",{"type":13,"tag":118,"props":166,"children":167},{"style":136},[168],{"type":18,"value":169},",\n",{"type":13,"tag":118,"props":171,"children":173},{"class":120,"line":172},3,[174,179,183,187,192],{"type":13,"tag":118,"props":175,"children":176},{"style":136},[177],{"type":18,"value":178}," VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT ",{"type":13,"tag":118,"props":180,"children":181},{"style":125},[182],{"type":18,"value":153},{"type":13,"tag":118,"props":184,"children":185},{"style":125},[186],{"type":18,"value":158},{"type":13,"tag":118,"props":188,"children":189},{"style":161},[190],{"type":18,"value":191},"00000002",{"type":13,"tag":118,"props":193,"children":194},{"style":136},[195],{"type":18,"value":169},{"type":13,"tag":118,"props":197,"children":199},{"class":120,"line":198},4,[200,205,209,213,218],{"type":13,"tag":118,"props":201,"children":202},{"style":136},[203],{"type":18,"value":204}," VK_PIPELINE_CREATE_DERIVATIVE_BIT ",{"type":13,"tag":118,"props":206,"children":207},{"style":125},[208],{"type":18,"value":153},{"type":13,"tag":118,"props":210,"children":211},{"style":125},[212],{"type":18,"value":158},{"type":13,"tag":118,"props":214,"children":215},{"style":161},[216],{"type":18,"value":217},"00000004",{"type":13,"tag":118,"props":219,"children":220},{"style":136},[221],{"type":18,"value":169},{"type":13,"tag":118,"props":223,"children":225},{"class":120,"line":224},5,[226],{"type":13,"tag":118,"props":227,"children":228},{"style":136},[229],{"type":18,"value":230},"} VkPipelineCreateFlagBits;\n",{"type":13,"tag":106,"props":232,"children":237},{"className":233,"code":234,"filename":235,"language":236,"meta":112,"style":112},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PipelineCreateFlagBits(u32);\nimpl PipelineCreateFlagBits {\n pub const DISABLE_OPTIMIZATION: Self = 0x00000001;\n pub const ALLOW_DERIVATIVES: Self = 0x00000002;\n pub const DERIVATIVE: Self = 0x00000004;\n}\n","Rust","rs",[238],{"type":13,"tag":45,"props":239,"children":240},{"__ignoreMap":112},[241,275,292,335,372,409],{"type":13,"tag":118,"props":242,"children":243},{"class":120,"line":121},[244,249,254,260,265,270],{"type":13,"tag":118,"props":245,"children":246},{"style":125},[247],{"type":18,"value":248},"pub",{"type":13,"tag":118,"props":250,"children":251},{"style":125},[252],{"type":18,"value":253}," struct",{"type":13,"tag":118,"props":255,"children":257},{"style":256},"--shiki-default:#953800;--shiki-dark:#FFA657",[258],{"type":18,"value":259}," PipelineCreateFlagBits",{"type":13,"tag":118,"props":261,"children":262},{"style":136},[263],{"type":18,"value":264},"(",{"type":13,"tag":118,"props":266,"children":267},{"style":256},[268],{"type":18,"value":269},"u32",{"type":13,"tag":118,"props":271,"children":272},{"style":136},[273],{"type":18,"value":274},");\n",{"type":13,"tag":118,"props":276,"children":277},{"class":120,"line":142},[278,283,287],{"type":13,"tag":118,"props":279,"children":280},{"style":125},[281],{"type":18,"value":282},"impl",{"type":13,"tag":118,"props":284,"children":285},{"style":256},[286],{"type":18,"value":259},{"type":13,"tag":118,"props":288,"children":289},{"style":136},[290],{"type":18,"value":291}," {\n",{"type":13,"tag":118,"props":293,"children":294},{"class":120,"line":172},[295,300,305,310,315,320,325,330],{"type":13,"tag":118,"props":296,"children":297},{"style":125},[298],{"type":18,"value":299}," pub",{"type":13,"tag":118,"props":301,"children":302},{"style":125},[303],{"type":18,"value":304}," const",{"type":13,"tag":118,"props":306,"children":307},{"style":161},[308],{"type":18,"value":309}," DISABLE_OPTIMIZATION",{"type":13,"tag":118,"props":311,"children":312},{"style":125},[313],{"type":18,"value":314},":",{"type":13,"tag":118,"props":316,"children":317},{"style":161},[318],{"type":18,"value":319}," Self",{"type":13,"tag":118,"props":321,"children":322},{"style":125},[323],{"type":18,"value":324}," =",{"type":13,"tag":118,"props":326,"children":327},{"style":161},[328],{"type":18,"value":329}," 0x00000001",{"type":13,"tag":118,"props":331,"children":332},{"style":136},[333],{"type":18,"value":334},";\n",{"type":13,"tag":118,"props":336,"children":337},{"class":120,"line":198},[338,342,346,351,355,359,363,368],{"type":13,"tag":118,"props":339,"children":340},{"style":125},[341],{"type":18,"value":299},{"type":13,"tag":118,"props":343,"children":344},{"style":125},[345],{"type":18,"value":304},{"type":13,"tag":118,"props":347,"children":348},{"style":161},[349],{"type":18,"value":350}," ALLOW_DERIVATIVES",{"type":13,"tag":118,"props":352,"children":353},{"style":125},[354],{"type":18,"value":314},{"type":13,"tag":118,"props":356,"children":357},{"style":161},[358],{"type":18,"value":319},{"type":13,"tag":118,"props":360,"children":361},{"style":125},[362],{"type":18,"value":324},{"type":13,"tag":118,"props":364,"children":365},{"style":161},[366],{"type":18,"value":367}," 0x00000002",{"type":13,"tag":118,"props":369,"children":370},{"style":136},[371],{"type":18,"value":334},{"type":13,"tag":118,"props":373,"children":374},{"class":120,"line":224},[375,379,383,388,392,396,400,405],{"type":13,"tag":118,"props":376,"children":377},{"style":125},[378],{"type":18,"value":299},{"type":13,"tag":118,"props":380,"children":381},{"style":125},[382],{"type":18,"value":304},{"type":13,"tag":118,"props":384,"children":385},{"style":161},[386],{"type":18,"value":387}," DERIVATIVE",{"type":13,"tag":118,"props":389,"children":390},{"style":125},[391],{"type":18,"value":314},{"type":13,"tag":118,"props":393,"children":394},{"style":161},[395],{"type":18,"value":319},{"type":13,"tag":118,"props":397,"children":398},{"style":125},[399],{"type":18,"value":324},{"type":13,"tag":118,"props":401,"children":402},{"style":161},[403],{"type":18,"value":404}," 0x00000004",{"type":13,"tag":118,"props":406,"children":407},{"style":136},[408],{"type":18,"value":334},{"type":13,"tag":118,"props":410,"children":412},{"class":120,"line":411},6,[413],{"type":13,"tag":118,"props":414,"children":415},{"style":136},[416],{"type":18,"value":417},"}\n",{"type":13,"tag":28,"props":419,"children":420},{},[421,438,449,460,487,511,536,570,612,650,669,686,703,721,740,756,772,795,835,856,874,885,896,917,934,960,991,1018,1034,1050,1065],{"type":13,"tag":32,"props":422,"children":423},{},[424,430,432,436],{"type":13,"tag":45,"props":425,"children":427},{"className":426},[],[428],{"type":18,"value":429},"VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT",{"type":18,"value":431}," specifies that the\ncreated pipeline will not be optimized.\nUsing this flag ",{"type":13,"tag":21,"props":433,"children":435},{"type":434},"may",[],{"type":18,"value":437}," reduce the time taken to create the pipeline.",{"type":13,"tag":32,"props":439,"children":440},{},[441,447],{"type":13,"tag":45,"props":442,"children":444},{"className":443},[],[445],{"type":18,"value":446},"VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT",{"type":18,"value":448}," specifies that the\npipeline to be created is allowed to be the parent of a pipeline that\nwill be created in a subsequent pipeline creation call.",{"type":13,"tag":32,"props":450,"children":451},{},[452,458],{"type":13,"tag":45,"props":453,"children":455},{"className":454},[],[456],{"type":18,"value":457},"VK_PIPELINE_CREATE_DERIVATIVE_BIT",{"type":18,"value":459}," specifies that the pipeline to\nbe created will be a child of a previously created parent pipeline.",{"type":13,"tag":32,"props":461,"children":462},{},[463,469,471,477,479,485],{"type":13,"tag":45,"props":464,"children":466},{"className":465},[],[467],{"type":18,"value":468},"VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT",{"type":18,"value":470}," specifies that\nany shader input variables decorated as ",{"type":13,"tag":45,"props":472,"children":474},{"className":473},[],[475],{"type":18,"value":476},"ViewIndex",{"type":18,"value":478}," will be assigned\nvalues as if they were decorated as ",{"type":13,"tag":45,"props":480,"children":482},{"className":481},[],[483],{"type":18,"value":484},"DeviceIndex",{"type":18,"value":486},".",{"type":13,"tag":32,"props":488,"children":489},{},[490,496,498,501,503,509],{"type":13,"tag":45,"props":491,"children":493},{"className":492},[],[494],{"type":18,"value":495},"VK_PIPELINE_CREATE_DISPATCH_BASE",{"type":18,"value":497}," specifies that a compute pipeline\n",{"type":13,"tag":21,"props":499,"children":500},{"type":23},[],{"type":18,"value":502}," be used with ",{"type":13,"tag":36,"props":504,"children":506},{"href":505},"/man/vkCmdDispatchBase",[507],{"type":18,"value":508},"vkCmdDispatchBase",{"type":18,"value":510}," with a non-zero base\nworkgroup.",{"type":13,"tag":32,"props":512,"children":513},{},[514,520,522,526,528,534],{"type":13,"tag":45,"props":515,"children":517},{"className":516},[],[518],{"type":18,"value":519},"VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV",{"type":18,"value":521}," specifies that a pipeline\nis created with all shaders in the deferred state.\nBefore using the pipeline the application ",{"type":13,"tag":21,"props":523,"children":525},{"type":524},"must",[],{"type":18,"value":527}," call\n",{"type":13,"tag":36,"props":529,"children":531},{"href":530},"/man/vkCompileDeferredNV",[532],{"type":18,"value":533},"vkCompileDeferredNV",{"type":18,"value":535}," exactly once on each shader in the pipeline\nbefore using the pipeline.",{"type":13,"tag":32,"props":537,"children":538},{},[539,545,547,550,552,558,560,563,565,568],{"type":13,"tag":45,"props":540,"children":542},{"className":541},[],[543],{"type":18,"value":544},"VK_PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR",{"type":18,"value":546}," specifies that the\nshader compiler should capture statistics for the pipeline executables\nproduced by the compile process which ",{"type":13,"tag":21,"props":548,"children":549},{"type":23},[],{"type":18,"value":551}," later be retrieved by calling\n",{"type":13,"tag":36,"props":553,"children":555},{"href":554},"/man/vkGetPipelineExecutableStatisticsKHR",[556],{"type":18,"value":557},"vkGetPipelineExecutableStatisticsKHR",{"type":18,"value":559},".\nEnabling this flag ",{"type":13,"tag":21,"props":561,"children":562},{"type":524},[],{"type":18,"value":564}," not affect the final compiled pipeline but ",{"type":13,"tag":21,"props":566,"children":567},{"type":434},[],{"type":18,"value":569},"\ndisable pipeline caching or otherwise affect pipeline creation time.",{"type":13,"tag":32,"props":571,"children":572},{},[573,579,581,584,585,591,592,595,596,599,601,604,606,610],{"type":13,"tag":45,"props":574,"children":576},{"className":575},[],[577],{"type":18,"value":578},"VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR",{"type":18,"value":580},"\nspecifies that the shader compiler should capture the internal\nrepresentations of pipeline executables produced by the compile process\nwhich ",{"type":13,"tag":21,"props":582,"children":583},{"type":23},[],{"type":18,"value":551},{"type":13,"tag":36,"props":586,"children":588},{"href":587},"/man/vkGetPipelineExecutableInternalRepresentationsKHR",[589],{"type":18,"value":590},"vkGetPipelineExecutableInternalRepresentationsKHR",{"type":18,"value":559},{"type":13,"tag":21,"props":593,"children":594},{"type":524},[],{"type":18,"value":564},{"type":13,"tag":21,"props":597,"children":598},{"type":434},[],{"type":18,"value":600},"\ndisable pipeline caching or otherwise affect pipeline creation time.\nWhen capturing IR from pipelines created with pipeline libraries, there\nis no guarantee that IR from libraries ",{"type":13,"tag":21,"props":602,"children":603},{"type":23},[],{"type":18,"value":605}," be retrieved from the linked\npipeline.\nApplications ",{"type":13,"tag":21,"props":607,"children":609},{"type":608},"should",[],{"type":18,"value":611}," retrieve IR from each library, and any linked\npipelines, separately.",{"type":13,"tag":32,"props":613,"children":614},{},[615,621,623,627,629,635,637,640,642,648],{"type":13,"tag":45,"props":616,"children":618},{"className":617},[],[619],{"type":18,"value":620},"VK_PIPELINE_CREATE_LIBRARY_BIT_KHR",{"type":18,"value":622}," specifies that the pipeline\n",{"type":13,"tag":21,"props":624,"children":626},{"type":625},"cannot",[],{"type":18,"value":628}," be used directly, and instead defines a ",{"type":13,"tag":630,"props":631,"children":632},"em",{},[633],{"type":18,"value":634},"pipeline library",{"type":18,"value":636}," that\n",{"type":13,"tag":21,"props":638,"children":639},{"type":23},[],{"type":18,"value":641}," be combined with other pipelines using the\n",{"type":13,"tag":36,"props":643,"children":645},{"href":644},"/man/VkPipelineLibraryCreateInfoKHR",[646],{"type":18,"value":647},"VkPipelineLibraryCreateInfoKHR",{"type":18,"value":649}," structure.\nThis is available in\nray tracing\nand\ngraphics\npipelines.",{"type":13,"tag":32,"props":651,"children":652},{},[653,659,661,667],{"type":13,"tag":45,"props":654,"children":656},{"className":655},[],[657],{"type":18,"value":658},"VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR",{"type":18,"value":660},"\nspecifies that an any-hit shader will always be present when an any-hit\nshader would be executed.\nA NULL any-hit shader is an any-hit shader which is effectively\n",{"type":13,"tag":45,"props":662,"children":664},{"className":663},[],[665],{"type":18,"value":666},"VK_SHADER_UNUSED_KHR",{"type":18,"value":668},", such as from a shader group consisting\nentirely of zeros.",{"type":13,"tag":32,"props":670,"children":671},{},[672,678,680,685],{"type":13,"tag":45,"props":673,"children":675},{"className":674},[],[676],{"type":18,"value":677},"VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR",{"type":18,"value":679},"\nspecifies that a closest hit shader will always be present when a\nclosest hit shader would be executed.\nA NULL closest hit shader is a closest hit shader which is effectively\n",{"type":13,"tag":45,"props":681,"children":683},{"className":682},[],[684],{"type":18,"value":666},{"type":18,"value":668},{"type":13,"tag":32,"props":687,"children":688},{},[689,695,697,702],{"type":13,"tag":45,"props":690,"children":692},{"className":691},[],[693],{"type":18,"value":694},"VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR",{"type":18,"value":696},"\nspecifies that a miss shader will always be present when a miss shader\nwould be executed.\nA NULL miss shader is a miss shader which is effectively\n",{"type":13,"tag":45,"props":698,"children":700},{"className":699},[],[701],{"type":18,"value":666},{"type":18,"value":668},{"type":13,"tag":32,"props":704,"children":705},{},[706,712,714,719],{"type":13,"tag":45,"props":707,"children":709},{"className":708},[],[710],{"type":18,"value":711},"VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR",{"type":18,"value":713},"\nspecifies that an intersection shader will always be present when an\nintersection shader would be executed.\nA NULL intersection shader is an intersection shader which is\neffectively ",{"type":13,"tag":45,"props":715,"children":717},{"className":716},[],[718],{"type":18,"value":666},{"type":18,"value":720},", such as from a shader group\nconsisting entirely of zeros.",{"type":13,"tag":32,"props":722,"children":723},{},[724,730,732,738],{"type":13,"tag":45,"props":725,"children":727},{"className":726},[],[728],{"type":18,"value":729},"VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR",{"type":18,"value":731}," specifies\nthat triangle primitives will be skipped during traversal using\n",{"type":13,"tag":36,"props":733,"children":735},{"href":734},"/404#glossary-pipeline-trace-ray",[736],{"type":18,"value":737},"pipeline trace ray",{"type":18,"value":739}," instructions.",{"type":13,"tag":32,"props":741,"children":742},{},[743,749,751,755],{"type":13,"tag":45,"props":744,"children":746},{"className":745},[],[747],{"type":18,"value":748},"VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR",{"type":18,"value":750}," specifies that\nAABB primitives will be skipped during traversal using\n",{"type":13,"tag":36,"props":752,"children":753},{"href":734},[754],{"type":18,"value":737},{"type":18,"value":739},{"type":13,"tag":32,"props":757,"children":758},{},[759,765,767,770],{"type":13,"tag":45,"props":760,"children":762},{"className":761},[],[763],{"type":18,"value":764},"VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR",{"type":18,"value":766},"\nspecifies that the shader group handles ",{"type":13,"tag":21,"props":768,"children":769},{"type":23},[],{"type":18,"value":771}," be saved and reused on a\nsubsequent run (e.g. for trace capture and replay).",{"type":13,"tag":32,"props":773,"children":774},{},[775,781,783,786,788,794],{"type":13,"tag":45,"props":776,"children":778},{"className":777},[],[779],{"type":18,"value":780},"VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV",{"type":18,"value":782}," specifies that the\npipeline ",{"type":13,"tag":21,"props":784,"children":785},{"type":23},[],{"type":18,"value":787}," be used in combination with ",{"type":13,"tag":36,"props":789,"children":791},{"href":790},"/chapters/device-generated-commands#device-generated-commands",[792],{"type":18,"value":793},"Device-Generated Commands",{"type":18,"value":486},{"type":13,"tag":32,"props":796,"children":797},{},[798,804,806,812,814,820,822,826,828,834],{"type":13,"tag":45,"props":799,"children":801},{"className":800},[],[802],{"type":18,"value":803},"VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT",{"type":18,"value":805}," specifies\nthat pipeline creation will fail if a compile is required for creation\nof a valid ",{"type":13,"tag":36,"props":807,"children":809},{"href":808},"/man/VkPipeline",[810],{"type":18,"value":811},"VkPipeline",{"type":18,"value":813}," object; ",{"type":13,"tag":45,"props":815,"children":817},{"className":816},[],[818],{"type":18,"value":819},"VK_PIPELINE_COMPILE_REQUIRED",{"type":18,"value":821},"\nwill be returned by pipeline creation, and the ",{"type":13,"tag":36,"props":823,"children":824},{"href":808},[825],{"type":18,"value":811},{"type":18,"value":827}," will be\n",{"type":13,"tag":36,"props":829,"children":831},{"href":830},"/man/VK_NULL_HANDLE",[832],{"type":18,"value":833},"VK_NULL_HANDLE",{"type":18,"value":486},{"type":13,"tag":32,"props":836,"children":837},{},[838,840,846,848,854],{"type":18,"value":839},"When creating multiple pipelines,\n",{"type":13,"tag":45,"props":841,"children":843},{"className":842},[],[844],{"type":18,"value":845},"VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT",{"type":18,"value":847}," specifies that\ncontrol will be returned to the application if any individual pipeline\nreturns a result which is not ",{"type":13,"tag":45,"props":849,"children":851},{"className":850},[],[852],{"type":18,"value":853},"VK_SUCCESS",{"type":18,"value":855}," rather than continuing to\ncreate additional pipelines.",{"type":13,"tag":32,"props":857,"children":858},{},[859,865,867,873],{"type":13,"tag":45,"props":860,"children":862},{"className":861},[],[863],{"type":18,"value":864},"VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV",{"type":18,"value":866}," specifies that\nthe pipeline is allowed to use ",{"type":13,"tag":45,"props":868,"children":870},{"className":869},[],[871],{"type":18,"value":872},"OpTraceRayMotionNV",{"type":18,"value":486},{"type":13,"tag":32,"props":875,"children":876},{},[877,883],{"type":13,"tag":45,"props":878,"children":880},{"className":879},[],[881],{"type":18,"value":882},"VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR",{"type":18,"value":884},"\nspecifies that the pipeline will be used with a fragment shading rate\nattachment and dynamic rendering.",{"type":13,"tag":32,"props":886,"children":887},{},[888,894],{"type":13,"tag":45,"props":889,"children":891},{"className":890},[],[892],{"type":18,"value":893},"VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT",{"type":18,"value":895},"\nspecifies that the pipeline will be used with a fragment density map\nattachment and dynamic rendering.",{"type":13,"tag":32,"props":897,"children":898},{},[899,905,907,910,912,915],{"type":13,"tag":45,"props":900,"children":902},{"className":901},[],[903],{"type":18,"value":904},"VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT",{"type":18,"value":906}," specifies that\npipeline libraries being linked into this library ",{"type":13,"tag":21,"props":908,"children":909},{"type":608},[],{"type":18,"value":911}," have link time\noptimizations applied.\nIf this bit is omitted, implementations ",{"type":13,"tag":21,"props":913,"children":914},{"type":608},[],{"type":18,"value":916}," instead perform linking\nas rapidly as possible.",{"type":13,"tag":32,"props":918,"children":919},{},[920,926,928,933],{"type":13,"tag":45,"props":921,"children":923},{"className":922},[],[924],{"type":18,"value":925},"VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT",{"type":18,"value":927},"\nspecifies that pipeline libraries should retain any information\nnecessary to later perform an optimal link with\n",{"type":13,"tag":45,"props":929,"children":931},{"className":930},[],[932],{"type":18,"value":904},{"type":18,"value":486},{"type":13,"tag":32,"props":935,"children":936},{},[937,943,945,951,953,959],{"type":13,"tag":45,"props":938,"children":940},{"className":939},[],[941],{"type":18,"value":942},"VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT",{"type":18,"value":944}," specifies that a\npipeline will be used with ",{"type":13,"tag":36,"props":946,"children":948},{"href":947},"/chapters/descriptorsets#descriptorbuffers",[949],{"type":18,"value":950},"descriptor buffers",{"type":18,"value":952},",\nrather than ",{"type":13,"tag":36,"props":954,"children":956},{"href":955},"/chapters/descriptorsets#descriptorsets",[957],{"type":18,"value":958},"descriptor sets",{"type":18,"value":486},{"type":13,"tag":32,"props":961,"children":962},{},[963,969,971,974,976,982,984,990],{"type":13,"tag":45,"props":964,"children":966},{"className":965},[],[967],{"type":18,"value":968},"VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT",{"type":18,"value":970},"\nspecifies that the pipeline ",{"type":13,"tag":21,"props":972,"children":973},{"type":434},[],{"type":18,"value":975}," be used with an attachment feedback\nloop including color attachments.\nIt is ignored if\n",{"type":13,"tag":45,"props":977,"children":979},{"className":978},[],[980],{"type":18,"value":981},"VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT",{"type":18,"value":983}," is set in\n",{"type":13,"tag":45,"props":985,"children":987},{"className":986},[],[988],{"type":18,"value":989},"pDynamicStates",{"type":18,"value":486},{"type":13,"tag":32,"props":992,"children":993},{},[994,1000,1001,1004,1006,1011,1012,1017],{"type":13,"tag":45,"props":995,"children":997},{"className":996},[],[998],{"type":18,"value":999},"VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT",{"type":18,"value":970},{"type":13,"tag":21,"props":1002,"children":1003},{"type":434},[],{"type":18,"value":1005}," be used with an attachment feedback\nloop including depth-stencil attachments.\nIt is ignored if\n",{"type":13,"tag":45,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":18,"value":981},{"type":18,"value":983},{"type":13,"tag":45,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":18,"value":989},{"type":18,"value":486},{"type":13,"tag":32,"props":1019,"children":1020},{},[1021,1027,1029,1032],{"type":13,"tag":45,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":18,"value":1026},"VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT",{"type":18,"value":1028}," specifies\nthat the ray tracing pipeline ",{"type":13,"tag":21,"props":1030,"children":1031},{"type":23},[],{"type":18,"value":1033}," be used with acceleration structures\nwhich reference an opacity micromap array.",{"type":13,"tag":32,"props":1035,"children":1036},{},[1037,1043,1045,1048],{"type":13,"tag":45,"props":1038,"children":1040},{"className":1039},[],[1041],{"type":18,"value":1042},"VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV",{"type":18,"value":1044},"\nspecifies that the ray tracing pipeline ",{"type":13,"tag":21,"props":1046,"children":1047},{"type":23},[],{"type":18,"value":1049}," be used with acceleration\nstructures which reference a displacement micromap array.",{"type":13,"tag":32,"props":1051,"children":1052},{},[1053,1059,1060,1063],{"type":13,"tag":45,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":18,"value":1058},"VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT",{"type":18,"value":782},{"type":13,"tag":21,"props":1061,"children":1062},{"type":524},[],{"type":18,"value":1064}," not be bound to a protected command buffer.",{"type":13,"tag":32,"props":1066,"children":1067},{},[1068,1074,1076,1079],{"type":13,"tag":45,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":18,"value":1073},"VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT",{"type":18,"value":1075}," specifies that\nthe pipeline ",{"type":13,"tag":21,"props":1077,"children":1078},{"type":524},[],{"type":18,"value":1080}," not be bound to an unprotected command buffer.",{"type":13,"tag":14,"props":1082,"children":1083},{},[1084,1086,1091,1093,1098,1100,1106],{"type":18,"value":1085},"It is valid to set both ",{"type":13,"tag":45,"props":1087,"children":1089},{"className":1088},[],[1090],{"type":18,"value":446},{"type":18,"value":1092}," and\n",{"type":13,"tag":45,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":18,"value":457},{"type":18,"value":1099},".\nThis allows a pipeline to be both a parent and possibly a child in a\npipeline hierarchy.\nSee ",{"type":13,"tag":36,"props":1101,"children":1103},{"href":1102},"/chapters/pipelines#pipelines-pipeline-derivatives",[1104],{"type":18,"value":1105},"Pipeline Derivatives",{"type":18,"value":1107}," for more\ninformation.",{"type":13,"tag":14,"props":1109,"children":1110},{},[1111,1113,1119,1121,1124,1126,1131],{"type":18,"value":1112},"When an implementation is looking up a pipeline in a\n",{"type":13,"tag":36,"props":1114,"children":1116},{"href":1115},"/chapters/pipelines#pipelines-cache",[1117],{"type":18,"value":1118},"pipeline cache",{"type":18,"value":1120},", if that pipeline is being created using\nlinked libraries, implementations ",{"type":13,"tag":21,"props":1122,"children":1123},{"type":608},[],{"type":18,"value":1125}," always return an equivalent\npipeline created with\n",{"type":13,"tag":45,"props":1127,"children":1129},{"className":1128},[],[1130],{"type":18,"value":904},{"type":18,"value":1132}," if available,\nwhether or not that bit was specified.",{"type":13,"tag":1134,"props":1135,"children":1136},"note",{},[1137],{"type":13,"tag":14,"props":1138,"children":1139},{},[1140,1142,1147],{"type":18,"value":1141},"Using ",{"type":13,"tag":45,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":18,"value":904},{"type":18,"value":1148}," (or not) when\nlinking pipeline libraries is intended as a performance tradeoff between\nhost and device.\nIf the bit is omitted, linking should be faster and produce a pipeline more\nrapidly, but performance of the pipeline on the target device may be\nreduced.\nIf the bit is included, linking may be slower but should produce a pipeline\nwith device performance comparable to a monolithically created pipeline.\nUsing both options can allow latency-sensitive applications to generate a\nsuboptimal but usable pipeline quickly, and then perform an optimal link in\nthe background, substituting the result for the suboptimally linked pipeline\nas soon as it is available.",{"type":13,"tag":1150,"props":1151,"children":1152},"style",{},[1153],{"type":18,"value":1154},"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":112,"searchDepth":142,"depth":142,"links":1156},[],"markdown",1729612471974]