[{"data":1,"prerenderedAt":9406},["ShallowReactive",2],{"XWdeVF8FWf":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":9405,"_id":4},"VkPhysicalDeviceLimits","Structure reporting implementation-dependent physical device limits","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":9402},"root",[12,28,4573,4609,9217,9396],{"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 defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,1538],{"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 VkPhysicalDeviceLimits {\n // resource maximum sizes;\n uint32_t maxImageDimension1D;\n uint32_t maxImageDimension2D;\n uint32_t maxImageDimension3D;\n uint32_t maxImageDimensionCube;\n uint32_t maxImageArrayLayers;\n uint32_t maxTexelBufferElements;\n uint32_t maxUniformBufferRange;\n uint32_t maxStorageBufferRange;\n uint32_t maxPushConstantsSize;\n // memory limits;\n uint32_t maxMemoryAllocationCount;\n uint32_t maxSamplerAllocationCount;\n VkDeviceSize bufferImageGranularity;\n VkDeviceSize sparseAddressSpaceSize;\n // descriptor set limits;\n uint32_t maxBoundDescriptorSets;\n uint32_t maxPerStageDescriptorSamplers;\n uint32_t maxPerStageDescriptorUniformBuffers;\n uint32_t maxPerStageDescriptorStorageBuffers;\n uint32_t maxPerStageDescriptorSampledImages;\n uint32_t maxPerStageDescriptorStorageImages;\n uint32_t maxPerStageDescriptorInputAttachments;\n uint32_t maxPerStageResources;\n uint32_t maxDescriptorSetSamplers;\n uint32_t maxDescriptorSetUniformBuffers;\n uint32_t maxDescriptorSetUniformBuffersDynamic;\n uint32_t maxDescriptorSetStorageBuffers;\n uint32_t maxDescriptorSetStorageBuffersDynamic;\n uint32_t maxDescriptorSetSampledImages;\n uint32_t maxDescriptorSetStorageImages;\n uint32_t maxDescriptorSetInputAttachments;\n // vertex stage limits;\n uint32_t maxVertexInputAttributes;\n uint32_t maxVertexInputBindings;\n uint32_t maxVertexInputAttributeOffset;\n uint32_t maxVertexInputBindingStride;\n uint32_t maxVertexOutputComponents;\n // tessellation control stage limits;\n uint32_t maxTessellationGenerationLevel;\n uint32_t maxTessellationPatchSize;\n uint32_t maxTessellationControlPerVertexInputComponents;\n uint32_t maxTessellationControlPerVertexOutputComponents;\n uint32_t maxTessellationControlPerPatchOutputComponents;\n uint32_t maxTessellationControlTotalOutputComponents;\n // tessellation evaluation stage limits;\n uint32_t maxTessellationEvaluationInputComponents;\n uint32_t maxTessellationEvaluationOutputComponents;\n // geometry stage limits;\n uint32_t maxGeometryShaderInvocations;\n uint32_t maxGeometryInputComponents;\n uint32_t maxGeometryOutputComponents;\n uint32_t maxGeometryOutputVertices;\n uint32_t maxGeometryTotalOutputComponents;\n // fragment stage limits;\n uint32_t maxFragmentInputComponents;\n uint32_t maxFragmentOutputAttachments;\n uint32_t maxFragmentDualSrcAttachments;\n uint32_t maxFragmentCombinedOutputResources;\n // compute stage limits;\n uint32_t maxComputeSharedMemorySize;\n uint32_t maxComputeWorkGroupCount[3];\n uint32_t maxComputeWorkGroupInvocations;\n uint32_t maxComputeWorkGroupSize[3];\n uint32_t subPixelPrecisionBits;\n uint32_t subTexelPrecisionBits;\n uint32_t mipmapPrecisionBits;\n uint32_t maxDrawIndexedIndexValue;\n uint32_t maxDrawIndirectCount;\n float maxSamplerLodBias;\n float maxSamplerAnisotropy;\n uint32_t maxViewports;\n uint32_t maxViewportDimensions[2];\n float viewportBoundsRange[2];\n uint32_t viewportSubPixelBits;\n size_t minMemoryMapAlignment;\n VkDeviceSize minTexelBufferOffsetAlignment;\n VkDeviceSize minUniformBufferOffsetAlignment;\n VkDeviceSize minStorageBufferOffsetAlignment;\n int32_t minTexelOffset;\n uint32_t maxTexelOffset;\n int32_t minTexelGatherOffset;\n uint32_t maxTexelGatherOffset;\n float minInterpolationOffset;\n float maxInterpolationOffset;\n uint32_t subPixelInterpolationOffsetBits;\n uint32_t maxFramebufferWidth;\n uint32_t maxFramebufferHeight;\n uint32_t maxFramebufferLayers;\n VkSampleCountFlags framebufferColorSampleCounts;\n VkSampleCountFlags framebufferDepthSampleCounts;\n VkSampleCountFlags framebufferStencilSampleCounts;\n VkSampleCountFlags framebufferNoAttachmentsSampleCounts;\n uint32_t maxColorAttachments;\n VkSampleCountFlags sampledImageColorSampleCounts;\n VkSampleCountFlags sampledImageIntegerSampleCounts;\n VkSampleCountFlags sampledImageDepthSampleCounts;\n VkSampleCountFlags sampledImageStencilSampleCounts;\n VkSampleCountFlags storageImageSampleCounts;\n uint32_t maxSampleMaskWords;\n VkBool32 timestampComputeAndGraphics;\n float timestampPeriod;\n uint32_t maxClipDistances;\n uint32_t maxCullDistances;\n uint32_t maxCombinedClipAndCullDistances;\n uint32_t discreteQueuePriorities;\n float pointSizeRange[2];\n float lineWidthRange[2];\n float pointSizeGranularity;\n float lineWidthGranularity;\n VkBool32 strictLines;\n VkBool32 standardSampleLocations;\n VkDeviceSize optimalBufferCopyOffsetAlignment;\n VkDeviceSize optimalBufferCopyRowPitchAlignment;\n VkDeviceSize nonCoherentAtomSize;\n} VkPhysicalDeviceLimits;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,77,91,104,117,130,143,156,169,182,195,204,217,230,239,248,257,270,283,296,309,322,335,348,361,374,387,400,413,426,439,452,465,474,487,500,513,526,539,548,561,574,587,600,613,626,635,648,661,670,683,696,709,722,735,744,757,770,783,796,805,818,848,861,886,899,912,925,938,951,965,978,991,1017,1042,1055,1069,1078,1087,1096,1110,1123,1136,1149,1162,1175,1188,1201,1214,1227,1236,1245,1254,1263,1276,1285,1294,1303,1312,1321,1334,1343,1356,1369,1382,1395,1408,1433,1458,1471,1484,1493,1502,1511,1520,1529],{"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}," VkPhysicalDeviceLimits {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":74},{"style":73},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[75],{"type":18,"value":76}," // resource maximum sizes;\n",{"type":13,"tag":45,"props":78,"children":80},{"class":47,"line":79},3,[81,86],{"type":13,"tag":45,"props":82,"children":83},{"style":52},[84],{"type":18,"value":85}," uint32_t",{"type":13,"tag":45,"props":87,"children":88},{"style":63},[89],{"type":18,"value":90}," maxImageDimension1D;\n",{"type":13,"tag":45,"props":92,"children":94},{"class":47,"line":93},4,[95,99],{"type":13,"tag":45,"props":96,"children":97},{"style":52},[98],{"type":18,"value":85},{"type":13,"tag":45,"props":100,"children":101},{"style":63},[102],{"type":18,"value":103}," maxImageDimension2D;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108,112],{"type":13,"tag":45,"props":109,"children":110},{"style":52},[111],{"type":18,"value":85},{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," maxImageDimension3D;\n",{"type":13,"tag":45,"props":118,"children":120},{"class":47,"line":119},6,[121,125],{"type":13,"tag":45,"props":122,"children":123},{"style":52},[124],{"type":18,"value":85},{"type":13,"tag":45,"props":126,"children":127},{"style":63},[128],{"type":18,"value":129}," maxImageDimensionCube;\n",{"type":13,"tag":45,"props":131,"children":133},{"class":47,"line":132},7,[134,138],{"type":13,"tag":45,"props":135,"children":136},{"style":52},[137],{"type":18,"value":85},{"type":13,"tag":45,"props":139,"children":140},{"style":63},[141],{"type":18,"value":142}," maxImageArrayLayers;\n",{"type":13,"tag":45,"props":144,"children":146},{"class":47,"line":145},8,[147,151],{"type":13,"tag":45,"props":148,"children":149},{"style":52},[150],{"type":18,"value":85},{"type":13,"tag":45,"props":152,"children":153},{"style":63},[154],{"type":18,"value":155}," maxTexelBufferElements;\n",{"type":13,"tag":45,"props":157,"children":159},{"class":47,"line":158},9,[160,164],{"type":13,"tag":45,"props":161,"children":162},{"style":52},[163],{"type":18,"value":85},{"type":13,"tag":45,"props":165,"children":166},{"style":63},[167],{"type":18,"value":168}," maxUniformBufferRange;\n",{"type":13,"tag":45,"props":170,"children":172},{"class":47,"line":171},10,[173,177],{"type":13,"tag":45,"props":174,"children":175},{"style":52},[176],{"type":18,"value":85},{"type":13,"tag":45,"props":178,"children":179},{"style":63},[180],{"type":18,"value":181}," maxStorageBufferRange;\n",{"type":13,"tag":45,"props":183,"children":185},{"class":47,"line":184},11,[186,190],{"type":13,"tag":45,"props":187,"children":188},{"style":52},[189],{"type":18,"value":85},{"type":13,"tag":45,"props":191,"children":192},{"style":63},[193],{"type":18,"value":194}," maxPushConstantsSize;\n",{"type":13,"tag":45,"props":196,"children":198},{"class":47,"line":197},12,[199],{"type":13,"tag":45,"props":200,"children":201},{"style":73},[202],{"type":18,"value":203}," // memory limits;\n",{"type":13,"tag":45,"props":205,"children":207},{"class":47,"line":206},13,[208,212],{"type":13,"tag":45,"props":209,"children":210},{"style":52},[211],{"type":18,"value":85},{"type":13,"tag":45,"props":213,"children":214},{"style":63},[215],{"type":18,"value":216}," maxMemoryAllocationCount;\n",{"type":13,"tag":45,"props":218,"children":220},{"class":47,"line":219},14,[221,225],{"type":13,"tag":45,"props":222,"children":223},{"style":52},[224],{"type":18,"value":85},{"type":13,"tag":45,"props":226,"children":227},{"style":63},[228],{"type":18,"value":229}," maxSamplerAllocationCount;\n",{"type":13,"tag":45,"props":231,"children":233},{"class":47,"line":232},15,[234],{"type":13,"tag":45,"props":235,"children":236},{"style":63},[237],{"type":18,"value":238}," VkDeviceSize bufferImageGranularity;\n",{"type":13,"tag":45,"props":240,"children":242},{"class":47,"line":241},16,[243],{"type":13,"tag":45,"props":244,"children":245},{"style":63},[246],{"type":18,"value":247}," VkDeviceSize sparseAddressSpaceSize;\n",{"type":13,"tag":45,"props":249,"children":251},{"class":47,"line":250},17,[252],{"type":13,"tag":45,"props":253,"children":254},{"style":73},[255],{"type":18,"value":256}," // descriptor set limits;\n",{"type":13,"tag":45,"props":258,"children":260},{"class":47,"line":259},18,[261,265],{"type":13,"tag":45,"props":262,"children":263},{"style":52},[264],{"type":18,"value":85},{"type":13,"tag":45,"props":266,"children":267},{"style":63},[268],{"type":18,"value":269}," maxBoundDescriptorSets;\n",{"type":13,"tag":45,"props":271,"children":273},{"class":47,"line":272},19,[274,278],{"type":13,"tag":45,"props":275,"children":276},{"style":52},[277],{"type":18,"value":85},{"type":13,"tag":45,"props":279,"children":280},{"style":63},[281],{"type":18,"value":282}," maxPerStageDescriptorSamplers;\n",{"type":13,"tag":45,"props":284,"children":286},{"class":47,"line":285},20,[287,291],{"type":13,"tag":45,"props":288,"children":289},{"style":52},[290],{"type":18,"value":85},{"type":13,"tag":45,"props":292,"children":293},{"style":63},[294],{"type":18,"value":295}," maxPerStageDescriptorUniformBuffers;\n",{"type":13,"tag":45,"props":297,"children":299},{"class":47,"line":298},21,[300,304],{"type":13,"tag":45,"props":301,"children":302},{"style":52},[303],{"type":18,"value":85},{"type":13,"tag":45,"props":305,"children":306},{"style":63},[307],{"type":18,"value":308}," maxPerStageDescriptorStorageBuffers;\n",{"type":13,"tag":45,"props":310,"children":312},{"class":47,"line":311},22,[313,317],{"type":13,"tag":45,"props":314,"children":315},{"style":52},[316],{"type":18,"value":85},{"type":13,"tag":45,"props":318,"children":319},{"style":63},[320],{"type":18,"value":321}," maxPerStageDescriptorSampledImages;\n",{"type":13,"tag":45,"props":323,"children":325},{"class":47,"line":324},23,[326,330],{"type":13,"tag":45,"props":327,"children":328},{"style":52},[329],{"type":18,"value":85},{"type":13,"tag":45,"props":331,"children":332},{"style":63},[333],{"type":18,"value":334}," maxPerStageDescriptorStorageImages;\n",{"type":13,"tag":45,"props":336,"children":338},{"class":47,"line":337},24,[339,343],{"type":13,"tag":45,"props":340,"children":341},{"style":52},[342],{"type":18,"value":85},{"type":13,"tag":45,"props":344,"children":345},{"style":63},[346],{"type":18,"value":347}," maxPerStageDescriptorInputAttachments;\n",{"type":13,"tag":45,"props":349,"children":351},{"class":47,"line":350},25,[352,356],{"type":13,"tag":45,"props":353,"children":354},{"style":52},[355],{"type":18,"value":85},{"type":13,"tag":45,"props":357,"children":358},{"style":63},[359],{"type":18,"value":360}," maxPerStageResources;\n",{"type":13,"tag":45,"props":362,"children":364},{"class":47,"line":363},26,[365,369],{"type":13,"tag":45,"props":366,"children":367},{"style":52},[368],{"type":18,"value":85},{"type":13,"tag":45,"props":370,"children":371},{"style":63},[372],{"type":18,"value":373}," maxDescriptorSetSamplers;\n",{"type":13,"tag":45,"props":375,"children":377},{"class":47,"line":376},27,[378,382],{"type":13,"tag":45,"props":379,"children":380},{"style":52},[381],{"type":18,"value":85},{"type":13,"tag":45,"props":383,"children":384},{"style":63},[385],{"type":18,"value":386}," maxDescriptorSetUniformBuffers;\n",{"type":13,"tag":45,"props":388,"children":390},{"class":47,"line":389},28,[391,395],{"type":13,"tag":45,"props":392,"children":393},{"style":52},[394],{"type":18,"value":85},{"type":13,"tag":45,"props":396,"children":397},{"style":63},[398],{"type":18,"value":399}," maxDescriptorSetUniformBuffersDynamic;\n",{"type":13,"tag":45,"props":401,"children":403},{"class":47,"line":402},29,[404,408],{"type":13,"tag":45,"props":405,"children":406},{"style":52},[407],{"type":18,"value":85},{"type":13,"tag":45,"props":409,"children":410},{"style":63},[411],{"type":18,"value":412}," maxDescriptorSetStorageBuffers;\n",{"type":13,"tag":45,"props":414,"children":416},{"class":47,"line":415},30,[417,421],{"type":13,"tag":45,"props":418,"children":419},{"style":52},[420],{"type":18,"value":85},{"type":13,"tag":45,"props":422,"children":423},{"style":63},[424],{"type":18,"value":425}," maxDescriptorSetStorageBuffersDynamic;\n",{"type":13,"tag":45,"props":427,"children":429},{"class":47,"line":428},31,[430,434],{"type":13,"tag":45,"props":431,"children":432},{"style":52},[433],{"type":18,"value":85},{"type":13,"tag":45,"props":435,"children":436},{"style":63},[437],{"type":18,"value":438}," maxDescriptorSetSampledImages;\n",{"type":13,"tag":45,"props":440,"children":442},{"class":47,"line":441},32,[443,447],{"type":13,"tag":45,"props":444,"children":445},{"style":52},[446],{"type":18,"value":85},{"type":13,"tag":45,"props":448,"children":449},{"style":63},[450],{"type":18,"value":451}," maxDescriptorSetStorageImages;\n",{"type":13,"tag":45,"props":453,"children":455},{"class":47,"line":454},33,[456,460],{"type":13,"tag":45,"props":457,"children":458},{"style":52},[459],{"type":18,"value":85},{"type":13,"tag":45,"props":461,"children":462},{"style":63},[463],{"type":18,"value":464}," maxDescriptorSetInputAttachments;\n",{"type":13,"tag":45,"props":466,"children":468},{"class":47,"line":467},34,[469],{"type":13,"tag":45,"props":470,"children":471},{"style":73},[472],{"type":18,"value":473}," // vertex stage limits;\n",{"type":13,"tag":45,"props":475,"children":477},{"class":47,"line":476},35,[478,482],{"type":13,"tag":45,"props":479,"children":480},{"style":52},[481],{"type":18,"value":85},{"type":13,"tag":45,"props":483,"children":484},{"style":63},[485],{"type":18,"value":486}," maxVertexInputAttributes;\n",{"type":13,"tag":45,"props":488,"children":490},{"class":47,"line":489},36,[491,495],{"type":13,"tag":45,"props":492,"children":493},{"style":52},[494],{"type":18,"value":85},{"type":13,"tag":45,"props":496,"children":497},{"style":63},[498],{"type":18,"value":499}," maxVertexInputBindings;\n",{"type":13,"tag":45,"props":501,"children":503},{"class":47,"line":502},37,[504,508],{"type":13,"tag":45,"props":505,"children":506},{"style":52},[507],{"type":18,"value":85},{"type":13,"tag":45,"props":509,"children":510},{"style":63},[511],{"type":18,"value":512}," maxVertexInputAttributeOffset;\n",{"type":13,"tag":45,"props":514,"children":516},{"class":47,"line":515},38,[517,521],{"type":13,"tag":45,"props":518,"children":519},{"style":52},[520],{"type":18,"value":85},{"type":13,"tag":45,"props":522,"children":523},{"style":63},[524],{"type":18,"value":525}," maxVertexInputBindingStride;\n",{"type":13,"tag":45,"props":527,"children":529},{"class":47,"line":528},39,[530,534],{"type":13,"tag":45,"props":531,"children":532},{"style":52},[533],{"type":18,"value":85},{"type":13,"tag":45,"props":535,"children":536},{"style":63},[537],{"type":18,"value":538}," maxVertexOutputComponents;\n",{"type":13,"tag":45,"props":540,"children":542},{"class":47,"line":541},40,[543],{"type":13,"tag":45,"props":544,"children":545},{"style":73},[546],{"type":18,"value":547}," // tessellation control stage limits;\n",{"type":13,"tag":45,"props":549,"children":551},{"class":47,"line":550},41,[552,556],{"type":13,"tag":45,"props":553,"children":554},{"style":52},[555],{"type":18,"value":85},{"type":13,"tag":45,"props":557,"children":558},{"style":63},[559],{"type":18,"value":560}," maxTessellationGenerationLevel;\n",{"type":13,"tag":45,"props":562,"children":564},{"class":47,"line":563},42,[565,569],{"type":13,"tag":45,"props":566,"children":567},{"style":52},[568],{"type":18,"value":85},{"type":13,"tag":45,"props":570,"children":571},{"style":63},[572],{"type":18,"value":573}," maxTessellationPatchSize;\n",{"type":13,"tag":45,"props":575,"children":577},{"class":47,"line":576},43,[578,582],{"type":13,"tag":45,"props":579,"children":580},{"style":52},[581],{"type":18,"value":85},{"type":13,"tag":45,"props":583,"children":584},{"style":63},[585],{"type":18,"value":586}," maxTessellationControlPerVertexInputComponents;\n",{"type":13,"tag":45,"props":588,"children":590},{"class":47,"line":589},44,[591,595],{"type":13,"tag":45,"props":592,"children":593},{"style":52},[594],{"type":18,"value":85},{"type":13,"tag":45,"props":596,"children":597},{"style":63},[598],{"type":18,"value":599}," maxTessellationControlPerVertexOutputComponents;\n",{"type":13,"tag":45,"props":601,"children":603},{"class":47,"line":602},45,[604,608],{"type":13,"tag":45,"props":605,"children":606},{"style":52},[607],{"type":18,"value":85},{"type":13,"tag":45,"props":609,"children":610},{"style":63},[611],{"type":18,"value":612}," maxTessellationControlPerPatchOutputComponents;\n",{"type":13,"tag":45,"props":614,"children":616},{"class":47,"line":615},46,[617,621],{"type":13,"tag":45,"props":618,"children":619},{"style":52},[620],{"type":18,"value":85},{"type":13,"tag":45,"props":622,"children":623},{"style":63},[624],{"type":18,"value":625}," maxTessellationControlTotalOutputComponents;\n",{"type":13,"tag":45,"props":627,"children":629},{"class":47,"line":628},47,[630],{"type":13,"tag":45,"props":631,"children":632},{"style":73},[633],{"type":18,"value":634}," // tessellation evaluation stage limits;\n",{"type":13,"tag":45,"props":636,"children":638},{"class":47,"line":637},48,[639,643],{"type":13,"tag":45,"props":640,"children":641},{"style":52},[642],{"type":18,"value":85},{"type":13,"tag":45,"props":644,"children":645},{"style":63},[646],{"type":18,"value":647}," maxTessellationEvaluationInputComponents;\n",{"type":13,"tag":45,"props":649,"children":651},{"class":47,"line":650},49,[652,656],{"type":13,"tag":45,"props":653,"children":654},{"style":52},[655],{"type":18,"value":85},{"type":13,"tag":45,"props":657,"children":658},{"style":63},[659],{"type":18,"value":660}," maxTessellationEvaluationOutputComponents;\n",{"type":13,"tag":45,"props":662,"children":664},{"class":47,"line":663},50,[665],{"type":13,"tag":45,"props":666,"children":667},{"style":73},[668],{"type":18,"value":669}," // geometry stage limits;\n",{"type":13,"tag":45,"props":671,"children":673},{"class":47,"line":672},51,[674,678],{"type":13,"tag":45,"props":675,"children":676},{"style":52},[677],{"type":18,"value":85},{"type":13,"tag":45,"props":679,"children":680},{"style":63},[681],{"type":18,"value":682}," maxGeometryShaderInvocations;\n",{"type":13,"tag":45,"props":684,"children":686},{"class":47,"line":685},52,[687,691],{"type":13,"tag":45,"props":688,"children":689},{"style":52},[690],{"type":18,"value":85},{"type":13,"tag":45,"props":692,"children":693},{"style":63},[694],{"type":18,"value":695}," maxGeometryInputComponents;\n",{"type":13,"tag":45,"props":697,"children":699},{"class":47,"line":698},53,[700,704],{"type":13,"tag":45,"props":701,"children":702},{"style":52},[703],{"type":18,"value":85},{"type":13,"tag":45,"props":705,"children":706},{"style":63},[707],{"type":18,"value":708}," maxGeometryOutputComponents;\n",{"type":13,"tag":45,"props":710,"children":712},{"class":47,"line":711},54,[713,717],{"type":13,"tag":45,"props":714,"children":715},{"style":52},[716],{"type":18,"value":85},{"type":13,"tag":45,"props":718,"children":719},{"style":63},[720],{"type":18,"value":721}," maxGeometryOutputVertices;\n",{"type":13,"tag":45,"props":723,"children":725},{"class":47,"line":724},55,[726,730],{"type":13,"tag":45,"props":727,"children":728},{"style":52},[729],{"type":18,"value":85},{"type":13,"tag":45,"props":731,"children":732},{"style":63},[733],{"type":18,"value":734}," maxGeometryTotalOutputComponents;\n",{"type":13,"tag":45,"props":736,"children":738},{"class":47,"line":737},56,[739],{"type":13,"tag":45,"props":740,"children":741},{"style":73},[742],{"type":18,"value":743}," // fragment stage limits;\n",{"type":13,"tag":45,"props":745,"children":747},{"class":47,"line":746},57,[748,752],{"type":13,"tag":45,"props":749,"children":750},{"style":52},[751],{"type":18,"value":85},{"type":13,"tag":45,"props":753,"children":754},{"style":63},[755],{"type":18,"value":756}," maxFragmentInputComponents;\n",{"type":13,"tag":45,"props":758,"children":760},{"class":47,"line":759},58,[761,765],{"type":13,"tag":45,"props":762,"children":763},{"style":52},[764],{"type":18,"value":85},{"type":13,"tag":45,"props":766,"children":767},{"style":63},[768],{"type":18,"value":769}," maxFragmentOutputAttachments;\n",{"type":13,"tag":45,"props":771,"children":773},{"class":47,"line":772},59,[774,778],{"type":13,"tag":45,"props":775,"children":776},{"style":52},[777],{"type":18,"value":85},{"type":13,"tag":45,"props":779,"children":780},{"style":63},[781],{"type":18,"value":782}," maxFragmentDualSrcAttachments;\n",{"type":13,"tag":45,"props":784,"children":786},{"class":47,"line":785},60,[787,791],{"type":13,"tag":45,"props":788,"children":789},{"style":52},[790],{"type":18,"value":85},{"type":13,"tag":45,"props":792,"children":793},{"style":63},[794],{"type":18,"value":795}," maxFragmentCombinedOutputResources;\n",{"type":13,"tag":45,"props":797,"children":799},{"class":47,"line":798},61,[800],{"type":13,"tag":45,"props":801,"children":802},{"style":73},[803],{"type":18,"value":804}," // compute stage limits;\n",{"type":13,"tag":45,"props":806,"children":808},{"class":47,"line":807},62,[809,813],{"type":13,"tag":45,"props":810,"children":811},{"style":52},[812],{"type":18,"value":85},{"type":13,"tag":45,"props":814,"children":815},{"style":63},[816],{"type":18,"value":817}," maxComputeSharedMemorySize;\n",{"type":13,"tag":45,"props":819,"children":821},{"class":47,"line":820},63,[822,826,832,837,843],{"type":13,"tag":45,"props":823,"children":824},{"style":52},[825],{"type":18,"value":85},{"type":13,"tag":45,"props":827,"children":829},{"style":828},"--shiki-default:#953800;--shiki-dark:#FFA657",[830],{"type":18,"value":831}," maxComputeWorkGroupCount",{"type":13,"tag":45,"props":833,"children":834},{"style":63},[835],{"type":18,"value":836},"[",{"type":13,"tag":45,"props":838,"children":840},{"style":839},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[841],{"type":18,"value":842},"3",{"type":13,"tag":45,"props":844,"children":845},{"style":63},[846],{"type":18,"value":847},"];\n",{"type":13,"tag":45,"props":849,"children":851},{"class":47,"line":850},64,[852,856],{"type":13,"tag":45,"props":853,"children":854},{"style":52},[855],{"type":18,"value":85},{"type":13,"tag":45,"props":857,"children":858},{"style":63},[859],{"type":18,"value":860}," maxComputeWorkGroupInvocations;\n",{"type":13,"tag":45,"props":862,"children":864},{"class":47,"line":863},65,[865,869,874,878,882],{"type":13,"tag":45,"props":866,"children":867},{"style":52},[868],{"type":18,"value":85},{"type":13,"tag":45,"props":870,"children":871},{"style":828},[872],{"type":18,"value":873}," maxComputeWorkGroupSize",{"type":13,"tag":45,"props":875,"children":876},{"style":63},[877],{"type":18,"value":836},{"type":13,"tag":45,"props":879,"children":880},{"style":839},[881],{"type":18,"value":842},{"type":13,"tag":45,"props":883,"children":884},{"style":63},[885],{"type":18,"value":847},{"type":13,"tag":45,"props":887,"children":889},{"class":47,"line":888},66,[890,894],{"type":13,"tag":45,"props":891,"children":892},{"style":52},[893],{"type":18,"value":85},{"type":13,"tag":45,"props":895,"children":896},{"style":63},[897],{"type":18,"value":898}," subPixelPrecisionBits;\n",{"type":13,"tag":45,"props":900,"children":902},{"class":47,"line":901},67,[903,907],{"type":13,"tag":45,"props":904,"children":905},{"style":52},[906],{"type":18,"value":85},{"type":13,"tag":45,"props":908,"children":909},{"style":63},[910],{"type":18,"value":911}," subTexelPrecisionBits;\n",{"type":13,"tag":45,"props":913,"children":915},{"class":47,"line":914},68,[916,920],{"type":13,"tag":45,"props":917,"children":918},{"style":52},[919],{"type":18,"value":85},{"type":13,"tag":45,"props":921,"children":922},{"style":63},[923],{"type":18,"value":924}," mipmapPrecisionBits;\n",{"type":13,"tag":45,"props":926,"children":928},{"class":47,"line":927},69,[929,933],{"type":13,"tag":45,"props":930,"children":931},{"style":52},[932],{"type":18,"value":85},{"type":13,"tag":45,"props":934,"children":935},{"style":63},[936],{"type":18,"value":937}," maxDrawIndexedIndexValue;\n",{"type":13,"tag":45,"props":939,"children":941},{"class":47,"line":940},70,[942,946],{"type":13,"tag":45,"props":943,"children":944},{"style":52},[945],{"type":18,"value":85},{"type":13,"tag":45,"props":947,"children":948},{"style":63},[949],{"type":18,"value":950}," maxDrawIndirectCount;\n",{"type":13,"tag":45,"props":952,"children":954},{"class":47,"line":953},71,[955,960],{"type":13,"tag":45,"props":956,"children":957},{"style":52},[958],{"type":18,"value":959}," float",{"type":13,"tag":45,"props":961,"children":962},{"style":63},[963],{"type":18,"value":964}," maxSamplerLodBias;\n",{"type":13,"tag":45,"props":966,"children":968},{"class":47,"line":967},72,[969,973],{"type":13,"tag":45,"props":970,"children":971},{"style":52},[972],{"type":18,"value":959},{"type":13,"tag":45,"props":974,"children":975},{"style":63},[976],{"type":18,"value":977}," maxSamplerAnisotropy;\n",{"type":13,"tag":45,"props":979,"children":981},{"class":47,"line":980},73,[982,986],{"type":13,"tag":45,"props":983,"children":984},{"style":52},[985],{"type":18,"value":85},{"type":13,"tag":45,"props":987,"children":988},{"style":63},[989],{"type":18,"value":990}," maxViewports;\n",{"type":13,"tag":45,"props":992,"children":994},{"class":47,"line":993},74,[995,999,1004,1008,1013],{"type":13,"tag":45,"props":996,"children":997},{"style":52},[998],{"type":18,"value":85},{"type":13,"tag":45,"props":1000,"children":1001},{"style":828},[1002],{"type":18,"value":1003}," maxViewportDimensions",{"type":13,"tag":45,"props":1005,"children":1006},{"style":63},[1007],{"type":18,"value":836},{"type":13,"tag":45,"props":1009,"children":1010},{"style":839},[1011],{"type":18,"value":1012},"2",{"type":13,"tag":45,"props":1014,"children":1015},{"style":63},[1016],{"type":18,"value":847},{"type":13,"tag":45,"props":1018,"children":1020},{"class":47,"line":1019},75,[1021,1025,1030,1034,1038],{"type":13,"tag":45,"props":1022,"children":1023},{"style":52},[1024],{"type":18,"value":959},{"type":13,"tag":45,"props":1026,"children":1027},{"style":828},[1028],{"type":18,"value":1029}," viewportBoundsRange",{"type":13,"tag":45,"props":1031,"children":1032},{"style":63},[1033],{"type":18,"value":836},{"type":13,"tag":45,"props":1035,"children":1036},{"style":839},[1037],{"type":18,"value":1012},{"type":13,"tag":45,"props":1039,"children":1040},{"style":63},[1041],{"type":18,"value":847},{"type":13,"tag":45,"props":1043,"children":1045},{"class":47,"line":1044},76,[1046,1050],{"type":13,"tag":45,"props":1047,"children":1048},{"style":52},[1049],{"type":18,"value":85},{"type":13,"tag":45,"props":1051,"children":1052},{"style":63},[1053],{"type":18,"value":1054}," viewportSubPixelBits;\n",{"type":13,"tag":45,"props":1056,"children":1058},{"class":47,"line":1057},77,[1059,1064],{"type":13,"tag":45,"props":1060,"children":1061},{"style":52},[1062],{"type":18,"value":1063}," size_t",{"type":13,"tag":45,"props":1065,"children":1066},{"style":63},[1067],{"type":18,"value":1068}," minMemoryMapAlignment;\n",{"type":13,"tag":45,"props":1070,"children":1072},{"class":47,"line":1071},78,[1073],{"type":13,"tag":45,"props":1074,"children":1075},{"style":63},[1076],{"type":18,"value":1077}," VkDeviceSize minTexelBufferOffsetAlignment;\n",{"type":13,"tag":45,"props":1079,"children":1081},{"class":47,"line":1080},79,[1082],{"type":13,"tag":45,"props":1083,"children":1084},{"style":63},[1085],{"type":18,"value":1086}," VkDeviceSize minUniformBufferOffsetAlignment;\n",{"type":13,"tag":45,"props":1088,"children":1090},{"class":47,"line":1089},80,[1091],{"type":13,"tag":45,"props":1092,"children":1093},{"style":63},[1094],{"type":18,"value":1095}," VkDeviceSize minStorageBufferOffsetAlignment;\n",{"type":13,"tag":45,"props":1097,"children":1099},{"class":47,"line":1098},81,[1100,1105],{"type":13,"tag":45,"props":1101,"children":1102},{"style":52},[1103],{"type":18,"value":1104}," int32_t",{"type":13,"tag":45,"props":1106,"children":1107},{"style":63},[1108],{"type":18,"value":1109}," minTexelOffset;\n",{"type":13,"tag":45,"props":1111,"children":1113},{"class":47,"line":1112},82,[1114,1118],{"type":13,"tag":45,"props":1115,"children":1116},{"style":52},[1117],{"type":18,"value":85},{"type":13,"tag":45,"props":1119,"children":1120},{"style":63},[1121],{"type":18,"value":1122}," maxTexelOffset;\n",{"type":13,"tag":45,"props":1124,"children":1126},{"class":47,"line":1125},83,[1127,1131],{"type":13,"tag":45,"props":1128,"children":1129},{"style":52},[1130],{"type":18,"value":1104},{"type":13,"tag":45,"props":1132,"children":1133},{"style":63},[1134],{"type":18,"value":1135}," minTexelGatherOffset;\n",{"type":13,"tag":45,"props":1137,"children":1139},{"class":47,"line":1138},84,[1140,1144],{"type":13,"tag":45,"props":1141,"children":1142},{"style":52},[1143],{"type":18,"value":85},{"type":13,"tag":45,"props":1145,"children":1146},{"style":63},[1147],{"type":18,"value":1148}," maxTexelGatherOffset;\n",{"type":13,"tag":45,"props":1150,"children":1152},{"class":47,"line":1151},85,[1153,1157],{"type":13,"tag":45,"props":1154,"children":1155},{"style":52},[1156],{"type":18,"value":959},{"type":13,"tag":45,"props":1158,"children":1159},{"style":63},[1160],{"type":18,"value":1161}," minInterpolationOffset;\n",{"type":13,"tag":45,"props":1163,"children":1165},{"class":47,"line":1164},86,[1166,1170],{"type":13,"tag":45,"props":1167,"children":1168},{"style":52},[1169],{"type":18,"value":959},{"type":13,"tag":45,"props":1171,"children":1172},{"style":63},[1173],{"type":18,"value":1174}," maxInterpolationOffset;\n",{"type":13,"tag":45,"props":1176,"children":1178},{"class":47,"line":1177},87,[1179,1183],{"type":13,"tag":45,"props":1180,"children":1181},{"style":52},[1182],{"type":18,"value":85},{"type":13,"tag":45,"props":1184,"children":1185},{"style":63},[1186],{"type":18,"value":1187}," subPixelInterpolationOffsetBits;\n",{"type":13,"tag":45,"props":1189,"children":1191},{"class":47,"line":1190},88,[1192,1196],{"type":13,"tag":45,"props":1193,"children":1194},{"style":52},[1195],{"type":18,"value":85},{"type":13,"tag":45,"props":1197,"children":1198},{"style":63},[1199],{"type":18,"value":1200}," maxFramebufferWidth;\n",{"type":13,"tag":45,"props":1202,"children":1204},{"class":47,"line":1203},89,[1205,1209],{"type":13,"tag":45,"props":1206,"children":1207},{"style":52},[1208],{"type":18,"value":85},{"type":13,"tag":45,"props":1210,"children":1211},{"style":63},[1212],{"type":18,"value":1213}," maxFramebufferHeight;\n",{"type":13,"tag":45,"props":1215,"children":1217},{"class":47,"line":1216},90,[1218,1222],{"type":13,"tag":45,"props":1219,"children":1220},{"style":52},[1221],{"type":18,"value":85},{"type":13,"tag":45,"props":1223,"children":1224},{"style":63},[1225],{"type":18,"value":1226}," maxFramebufferLayers;\n",{"type":13,"tag":45,"props":1228,"children":1230},{"class":47,"line":1229},91,[1231],{"type":13,"tag":45,"props":1232,"children":1233},{"style":63},[1234],{"type":18,"value":1235}," VkSampleCountFlags framebufferColorSampleCounts;\n",{"type":13,"tag":45,"props":1237,"children":1239},{"class":47,"line":1238},92,[1240],{"type":13,"tag":45,"props":1241,"children":1242},{"style":63},[1243],{"type":18,"value":1244}," VkSampleCountFlags framebufferDepthSampleCounts;\n",{"type":13,"tag":45,"props":1246,"children":1248},{"class":47,"line":1247},93,[1249],{"type":13,"tag":45,"props":1250,"children":1251},{"style":63},[1252],{"type":18,"value":1253}," VkSampleCountFlags framebufferStencilSampleCounts;\n",{"type":13,"tag":45,"props":1255,"children":1257},{"class":47,"line":1256},94,[1258],{"type":13,"tag":45,"props":1259,"children":1260},{"style":63},[1261],{"type":18,"value":1262}," VkSampleCountFlags framebufferNoAttachmentsSampleCounts;\n",{"type":13,"tag":45,"props":1264,"children":1266},{"class":47,"line":1265},95,[1267,1271],{"type":13,"tag":45,"props":1268,"children":1269},{"style":52},[1270],{"type":18,"value":85},{"type":13,"tag":45,"props":1272,"children":1273},{"style":63},[1274],{"type":18,"value":1275}," maxColorAttachments;\n",{"type":13,"tag":45,"props":1277,"children":1279},{"class":47,"line":1278},96,[1280],{"type":13,"tag":45,"props":1281,"children":1282},{"style":63},[1283],{"type":18,"value":1284}," VkSampleCountFlags sampledImageColorSampleCounts;\n",{"type":13,"tag":45,"props":1286,"children":1288},{"class":47,"line":1287},97,[1289],{"type":13,"tag":45,"props":1290,"children":1291},{"style":63},[1292],{"type":18,"value":1293}," VkSampleCountFlags sampledImageIntegerSampleCounts;\n",{"type":13,"tag":45,"props":1295,"children":1297},{"class":47,"line":1296},98,[1298],{"type":13,"tag":45,"props":1299,"children":1300},{"style":63},[1301],{"type":18,"value":1302}," VkSampleCountFlags sampledImageDepthSampleCounts;\n",{"type":13,"tag":45,"props":1304,"children":1306},{"class":47,"line":1305},99,[1307],{"type":13,"tag":45,"props":1308,"children":1309},{"style":63},[1310],{"type":18,"value":1311}," VkSampleCountFlags sampledImageStencilSampleCounts;\n",{"type":13,"tag":45,"props":1313,"children":1315},{"class":47,"line":1314},100,[1316],{"type":13,"tag":45,"props":1317,"children":1318},{"style":63},[1319],{"type":18,"value":1320}," VkSampleCountFlags storageImageSampleCounts;\n",{"type":13,"tag":45,"props":1322,"children":1324},{"class":47,"line":1323},101,[1325,1329],{"type":13,"tag":45,"props":1326,"children":1327},{"style":52},[1328],{"type":18,"value":85},{"type":13,"tag":45,"props":1330,"children":1331},{"style":63},[1332],{"type":18,"value":1333}," maxSampleMaskWords;\n",{"type":13,"tag":45,"props":1335,"children":1337},{"class":47,"line":1336},102,[1338],{"type":13,"tag":45,"props":1339,"children":1340},{"style":63},[1341],{"type":18,"value":1342}," VkBool32 timestampComputeAndGraphics;\n",{"type":13,"tag":45,"props":1344,"children":1346},{"class":47,"line":1345},103,[1347,1351],{"type":13,"tag":45,"props":1348,"children":1349},{"style":52},[1350],{"type":18,"value":959},{"type":13,"tag":45,"props":1352,"children":1353},{"style":63},[1354],{"type":18,"value":1355}," timestampPeriod;\n",{"type":13,"tag":45,"props":1357,"children":1359},{"class":47,"line":1358},104,[1360,1364],{"type":13,"tag":45,"props":1361,"children":1362},{"style":52},[1363],{"type":18,"value":85},{"type":13,"tag":45,"props":1365,"children":1366},{"style":63},[1367],{"type":18,"value":1368}," maxClipDistances;\n",{"type":13,"tag":45,"props":1370,"children":1372},{"class":47,"line":1371},105,[1373,1377],{"type":13,"tag":45,"props":1374,"children":1375},{"style":52},[1376],{"type":18,"value":85},{"type":13,"tag":45,"props":1378,"children":1379},{"style":63},[1380],{"type":18,"value":1381}," maxCullDistances;\n",{"type":13,"tag":45,"props":1383,"children":1385},{"class":47,"line":1384},106,[1386,1390],{"type":13,"tag":45,"props":1387,"children":1388},{"style":52},[1389],{"type":18,"value":85},{"type":13,"tag":45,"props":1391,"children":1392},{"style":63},[1393],{"type":18,"value":1394}," maxCombinedClipAndCullDistances;\n",{"type":13,"tag":45,"props":1396,"children":1398},{"class":47,"line":1397},107,[1399,1403],{"type":13,"tag":45,"props":1400,"children":1401},{"style":52},[1402],{"type":18,"value":85},{"type":13,"tag":45,"props":1404,"children":1405},{"style":63},[1406],{"type":18,"value":1407}," discreteQueuePriorities;\n",{"type":13,"tag":45,"props":1409,"children":1411},{"class":47,"line":1410},108,[1412,1416,1421,1425,1429],{"type":13,"tag":45,"props":1413,"children":1414},{"style":52},[1415],{"type":18,"value":959},{"type":13,"tag":45,"props":1417,"children":1418},{"style":828},[1419],{"type":18,"value":1420}," pointSizeRange",{"type":13,"tag":45,"props":1422,"children":1423},{"style":63},[1424],{"type":18,"value":836},{"type":13,"tag":45,"props":1426,"children":1427},{"style":839},[1428],{"type":18,"value":1012},{"type":13,"tag":45,"props":1430,"children":1431},{"style":63},[1432],{"type":18,"value":847},{"type":13,"tag":45,"props":1434,"children":1436},{"class":47,"line":1435},109,[1437,1441,1446,1450,1454],{"type":13,"tag":45,"props":1438,"children":1439},{"style":52},[1440],{"type":18,"value":959},{"type":13,"tag":45,"props":1442,"children":1443},{"style":828},[1444],{"type":18,"value":1445}," lineWidthRange",{"type":13,"tag":45,"props":1447,"children":1448},{"style":63},[1449],{"type":18,"value":836},{"type":13,"tag":45,"props":1451,"children":1452},{"style":839},[1453],{"type":18,"value":1012},{"type":13,"tag":45,"props":1455,"children":1456},{"style":63},[1457],{"type":18,"value":847},{"type":13,"tag":45,"props":1459,"children":1461},{"class":47,"line":1460},110,[1462,1466],{"type":13,"tag":45,"props":1463,"children":1464},{"style":52},[1465],{"type":18,"value":959},{"type":13,"tag":45,"props":1467,"children":1468},{"style":63},[1469],{"type":18,"value":1470}," pointSizeGranularity;\n",{"type":13,"tag":45,"props":1472,"children":1474},{"class":47,"line":1473},111,[1475,1479],{"type":13,"tag":45,"props":1476,"children":1477},{"style":52},[1478],{"type":18,"value":959},{"type":13,"tag":45,"props":1480,"children":1481},{"style":63},[1482],{"type":18,"value":1483}," lineWidthGranularity;\n",{"type":13,"tag":45,"props":1485,"children":1487},{"class":47,"line":1486},112,[1488],{"type":13,"tag":45,"props":1489,"children":1490},{"style":63},[1491],{"type":18,"value":1492}," VkBool32 strictLines;\n",{"type":13,"tag":45,"props":1494,"children":1496},{"class":47,"line":1495},113,[1497],{"type":13,"tag":45,"props":1498,"children":1499},{"style":63},[1500],{"type":18,"value":1501}," VkBool32 standardSampleLocations;\n",{"type":13,"tag":45,"props":1503,"children":1505},{"class":47,"line":1504},114,[1506],{"type":13,"tag":45,"props":1507,"children":1508},{"style":63},[1509],{"type":18,"value":1510}," VkDeviceSize optimalBufferCopyOffsetAlignment;\n",{"type":13,"tag":45,"props":1512,"children":1514},{"class":47,"line":1513},115,[1515],{"type":13,"tag":45,"props":1516,"children":1517},{"style":63},[1518],{"type":18,"value":1519}," VkDeviceSize optimalBufferCopyRowPitchAlignment;\n",{"type":13,"tag":45,"props":1521,"children":1523},{"class":47,"line":1522},116,[1524],{"type":13,"tag":45,"props":1525,"children":1526},{"style":63},[1527],{"type":18,"value":1528}," VkDeviceSize nonCoherentAtomSize;\n",{"type":13,"tag":45,"props":1530,"children":1532},{"class":47,"line":1531},117,[1533],{"type":13,"tag":45,"props":1534,"children":1535},{"style":63},[1536],{"type":18,"value":1537},"} VkPhysicalDeviceLimits;\n",{"type":13,"tag":33,"props":1539,"children":1544},{"className":1540,"code":1541,"filename":1542,"language":1543,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceLimits {\n /// resource maximum sizes\n max_image_dimension1_d: u32, // max 1D image dimension\n max_image_dimension2_d: u32, // max 2D image dimension\n max_image_dimension3_d: u32, // max 3D image dimension\n max_image_dimension_cube: u32, // max cube map image dimension\n max_image_array_layers: u32, // max layers for image arrays\n max_texel_buffer_elements: u32, // max texel buffer size (fstexels)\n max_uniform_buffer_range: u32, // max uniform buffer range (bytes)\n max_storage_buffer_range: u32, // max storage buffer range (bytes)\n max_push_constants_size: u32, // max size of the push constants pool (bytes)\n /// memory limits\n max_memory_allocation_count: u32, // max number of device memory allocations supported\n max_sampler_allocation_count: u32, // max number of samplers that can be allocated on a device\n buffer_image_granularity: vk::DeviceSize, // Granularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage\n sparse_address_space_size: vk::DeviceSize, // Total address space available for sparse allocations (bytes)\n /// descriptor set limits\n max_bound_descriptor_sets: u32, // max number of descriptors sets that can be bound to a pipeline\n max_per_stage_descriptor_samplers: u32, // max number of samplers allowed per-stage in a descriptor set\n max_per_stage_descriptor_uniform_buffers: u32, // max number of uniform buffers allowed per-stage in a descriptor set\n max_per_stage_descriptor_storage_buffers: u32, // max number of storage buffers allowed per-stage in a descriptor set\n max_per_stage_descriptor_sampled_images: u32, // max number of sampled images allowed per-stage in a descriptor set\n max_per_stage_descriptor_storage_images: u32, // max number of storage images allowed per-stage in a descriptor set\n max_per_stage_descriptor_input_attachments: u32, // max number of input attachments allowed per-stage in a descriptor set\n max_per_stage_resources: u32, // max number of resources allowed by a single stage\n max_descriptor_set_samplers: u32, // max number of samplers allowed in all stages in a descriptor set\n max_descriptor_set_uniform_buffers: u32, // max number of uniform buffers allowed in all stages in a descriptor set\n max_descriptor_set_uniform_buffers_dynamic: u32, // max number of dynamic uniform buffers allowed in all stages in a descriptor set\n max_descriptor_set_storage_buffers: u32, // max number of storage buffers allowed in all stages in a descriptor set\n max_descriptor_set_storage_buffers_dynamic: u32, // max number of dynamic storage buffers allowed in all stages in a descriptor set\n max_descriptor_set_sampled_images: u32, // max number of sampled images allowed in all stages in a descriptor set\n max_descriptor_set_storage_images: u32, // max number of storage images allowed in all stages in a descriptor set\n max_descriptor_set_input_attachments: u32, // max number of input attachments allowed in all stages in a descriptor set\n /// vertex stage limits\n max_vertex_input_attributes: u32, // max number of vertex input attribute slots\n max_vertex_input_bindings: u32, // max number of vertex input binding slots\n max_vertex_input_attribute_offset: u32, // max vertex input attribute offset added to vertex buffer offset\n max_vertex_input_binding_stride: u32, // max vertex input binding stride\n max_vertex_output_components: u32, // max number of output components written by vertex shader\n /// tessellation control stage limits\n max_tessellation_generation_level: u32, // max level supported by tessellation primitive generator\n max_tessellation_patch_size: u32, // max patch size (vertices)\n max_tessellation_control_per_vertex_input_components: u32, // max number of input components per-vertex in TCS\n max_tessellation_control_per_vertex_output_components: u32, // max number of output components per-vertex in TCS\n max_tessellation_control_per_patch_output_components: u32, // max number of output components per-patch in TCS\n max_tessellation_control_total_output_components: u32, // max total number of per-vertex and per-patch output components in TCS\n /// tessellation evaluation stage limits\n max_tessellation_evaluation_input_components: u32, // max number of input components per vertex in TES\n max_tessellation_evaluation_output_components: u32, // max number of output components per vertex in TES\n /// geometry stage limits\n max_geometry_shader_invocations: u32, // max invocation count supported in geometry shader\n max_geometry_input_components: u32, // max number of input components read in geometry stage\n max_geometry_output_components: u32, // max number of output components written in geometry stage\n max_geometry_output_vertices: u32, // max number of vertices that can be emitted in geometry stage\n max_geometry_total_output_components: u32, // max total number of components (all vertices) written in geometry stage\n /// fragment stage limits\n max_fragment_input_components: u32, // max number of input components read in fragment stage\n max_fragment_output_attachments: u32, // max number of output attachments written in fragment stage\n max_fragment_dual_src_attachments: u32, // max number of output attachments written when using dual source blending\n max_fragment_combined_output_resources: u32, // max total number of storage buffers, storage images and output buffers\n /// compute stage limits\n max_compute_shared_memory_size: u32, // max total storage size of work group local storage (bytes)\n max_compute_work_group_count: *const [u32 ; 3], // max num of compute work groups that may be dispatched by a single command (x,y,z)\n max_compute_work_group_invocations: u32, // max total compute invocations in a single local work group\n max_compute_work_group_size: *const [u32 ; 3], // max local size of a compute work group (x,y,z)\n sub_pixel_precision_bits: u32, // number bits of subpixel precision in screen x and y\n sub_texel_precision_bits: u32, // number bits of precision for selecting texel weights\n mipmap_precision_bits: u32, // number bits of precision for selecting mipmap weights\n max_draw_indexed_index_value: u32, // max index value for indexed draw calls (for 32-bit indices)\n max_draw_indirect_count: u32, // max draw count for indirect drawing calls\n max_sampler_lod_bias: f32, // max absolute sampler LOD bias\n max_sampler_anisotropy: f32, // max degree of sampler anisotropy\n max_viewports: u32, // max number of active viewports\n max_viewport_dimensions: *const [u32 ; 2], // max viewport dimensions (x,y)\n viewport_bounds_range: *const [f32 ; 2], // viewport bounds range (min,max)\n viewport_sub_pixel_bits: u32, // number bits of subpixel precision for viewport\n min_memory_map_alignment: usize, // min required alignment of pointers returned by MapMemory (bytes)\n min_texel_buffer_offset_alignment: vk::DeviceSize, // min required alignment for texel buffer offsets (bytes) \n min_uniform_buffer_offset_alignment: vk::DeviceSize, // min required alignment for uniform buffer sizes and offsets (bytes)\n min_storage_buffer_offset_alignment: vk::DeviceSize, // min required alignment for storage buffer offsets (bytes)\n min_texel_offset: i32, // min texel offset for OpTextureSampleOffset\n max_texel_offset: u32, // max texel offset for OpTextureSampleOffset\n min_texel_gather_offset: i32, // min texel offset for OpTextureGatherOffset\n max_texel_gather_offset: u32, // max texel offset for OpTextureGatherOffset\n min_interpolation_offset: f32, // furthest negative offset for interpolateAtOffset\n max_interpolation_offset: f32, // furthest positive offset for interpolateAtOffset\n sub_pixel_interpolation_offset_bits: u32, // number of subpixel bits for interpolateAtOffset\n max_framebuffer_width: u32, // max width for a framebuffer\n max_framebuffer_height: u32, // max height for a framebuffer\n max_framebuffer_layers: u32, // max layer count for a layered framebuffer\n framebuffer_color_sample_counts: vk::SampleCountFlags, // supported color sample counts for a framebuffer\n framebuffer_depth_sample_counts: vk::SampleCountFlags, // supported depth sample counts for a framebuffer\n framebuffer_stencil_sample_counts: vk::SampleCountFlags, // supported stencil sample counts for a framebuffer\n framebuffer_no_attachments_sample_counts: vk::SampleCountFlags, // supported sample counts for a subpass which uses no attachments\n max_color_attachments: u32, // max number of color attachments per subpass\n sampled_image_color_sample_counts: vk::SampleCountFlags, // supported color sample counts for a non-integer sampled image\n sampled_image_integer_sample_counts: vk::SampleCountFlags, // supported sample counts for an integer image\n sampled_image_depth_sample_counts: vk::SampleCountFlags, // supported depth sample counts for a sampled image\n sampled_image_stencil_sample_counts: vk::SampleCountFlags, // supported stencil sample counts for a sampled image\n storage_image_sample_counts: vk::SampleCountFlags, // supported sample counts for a storage image\n max_sample_mask_words: u32, // max number of sample mask words\n timestamp_compute_and_graphics: vk::Bool32, // timestamps on graphics and compute queues\n timestamp_period: f32, // number of nanoseconds it takes for timestamp query value to increment by 1\n max_clip_distances: u32, // max number of clip distances\n max_cull_distances: u32, // max number of cull distances\n max_combined_clip_and_cull_distances: u32, // max combined number of user clipping\n discrete_queue_priorities: u32, // distinct queue priorities available \n point_size_range: *const [f32 ; 2], // range (min,max) of supported point sizes\n line_width_range: *const [f32 ; 2], // range (min,max) of supported line widths\n point_size_granularity: f32, // granularity of supported point sizes\n line_width_granularity: f32, // granularity of supported line widths\n strict_lines: vk::Bool32, // line rasterization follows preferred rules\n standard_sample_locations: vk::Bool32, // supports standard sample locations for all supported sample counts\n optimal_buffer_copy_offset_alignment: vk::DeviceSize, // optimal offset of buffer copies\n optimal_buffer_copy_row_pitch_alignment: vk::DeviceSize, // optimal pitch of buffer copies\n non_coherent_atom_size: vk::DeviceSize, // minimum size and alignment for non-coherent host-mapped device memory access\n}\n","Rust","rs",[1545],{"type":13,"tag":21,"props":1546,"children":1547},{"__ignoreMap":39},[1548,1570,1578,1606,1631,1656,1681,1706,1731,1756,1781,1806,1814,1839,1864,1900,1933,1941,1966,1991,2016,2041,2066,2091,2116,2141,2166,2191,2216,2241,2266,2291,2316,2341,2349,2374,2399,2424,2449,2474,2482,2507,2532,2557,2582,2607,2632,2640,2665,2690,2698,2723,2748,2773,2798,2823,2831,2856,2881,2906,2931,2939,2964,3010,3035,3076,3101,3126,3151,3176,3201,3227,3252,3277,3318,3360,3385,3411,3444,3477,3510,3536,3561,3586,3611,3636,3661,3686,3711,3736,3761,3795,3828,3861,3894,3919,3952,3985,4018,4051,4084,4109,4143,4168,4193,4218,4243,4268,4309,4350,4375,4400,4433,4466,4499,4532,4565],{"type":13,"tag":45,"props":1549,"children":1550},{"class":47,"line":48},[1551,1556,1560,1565],{"type":13,"tag":45,"props":1552,"children":1553},{"style":52},[1554],{"type":18,"value":1555},"pub",{"type":13,"tag":45,"props":1557,"children":1558},{"style":52},[1559],{"type":18,"value":60},{"type":13,"tag":45,"props":1561,"children":1562},{"style":828},[1563],{"type":18,"value":1564}," PhysicalDeviceLimits",{"type":13,"tag":45,"props":1566,"children":1567},{"style":63},[1568],{"type":18,"value":1569}," {\n",{"type":13,"tag":45,"props":1571,"children":1572},{"class":47,"line":69},[1573],{"type":13,"tag":45,"props":1574,"children":1575},{"style":73},[1576],{"type":18,"value":1577}," /// resource maximum sizes\n",{"type":13,"tag":45,"props":1579,"children":1580},{"class":47,"line":79},[1581,1586,1591,1596,1601],{"type":13,"tag":45,"props":1582,"children":1583},{"style":63},[1584],{"type":18,"value":1585}," max_image_dimension1_d",{"type":13,"tag":45,"props":1587,"children":1588},{"style":52},[1589],{"type":18,"value":1590},":",{"type":13,"tag":45,"props":1592,"children":1593},{"style":828},[1594],{"type":18,"value":1595}," u32",{"type":13,"tag":45,"props":1597,"children":1598},{"style":63},[1599],{"type":18,"value":1600},", ",{"type":13,"tag":45,"props":1602,"children":1603},{"style":73},[1604],{"type":18,"value":1605},"// max 1D image dimension\n",{"type":13,"tag":45,"props":1607,"children":1608},{"class":47,"line":93},[1609,1614,1618,1622,1626],{"type":13,"tag":45,"props":1610,"children":1611},{"style":63},[1612],{"type":18,"value":1613}," max_image_dimension2_d",{"type":13,"tag":45,"props":1615,"children":1616},{"style":52},[1617],{"type":18,"value":1590},{"type":13,"tag":45,"props":1619,"children":1620},{"style":828},[1621],{"type":18,"value":1595},{"type":13,"tag":45,"props":1623,"children":1624},{"style":63},[1625],{"type":18,"value":1600},{"type":13,"tag":45,"props":1627,"children":1628},{"style":73},[1629],{"type":18,"value":1630},"// max 2D image dimension\n",{"type":13,"tag":45,"props":1632,"children":1633},{"class":47,"line":106},[1634,1639,1643,1647,1651],{"type":13,"tag":45,"props":1635,"children":1636},{"style":63},[1637],{"type":18,"value":1638}," max_image_dimension3_d",{"type":13,"tag":45,"props":1640,"children":1641},{"style":52},[1642],{"type":18,"value":1590},{"type":13,"tag":45,"props":1644,"children":1645},{"style":828},[1646],{"type":18,"value":1595},{"type":13,"tag":45,"props":1648,"children":1649},{"style":63},[1650],{"type":18,"value":1600},{"type":13,"tag":45,"props":1652,"children":1653},{"style":73},[1654],{"type":18,"value":1655},"// max 3D image dimension\n",{"type":13,"tag":45,"props":1657,"children":1658},{"class":47,"line":119},[1659,1664,1668,1672,1676],{"type":13,"tag":45,"props":1660,"children":1661},{"style":63},[1662],{"type":18,"value":1663}," max_image_dimension_cube",{"type":13,"tag":45,"props":1665,"children":1666},{"style":52},[1667],{"type":18,"value":1590},{"type":13,"tag":45,"props":1669,"children":1670},{"style":828},[1671],{"type":18,"value":1595},{"type":13,"tag":45,"props":1673,"children":1674},{"style":63},[1675],{"type":18,"value":1600},{"type":13,"tag":45,"props":1677,"children":1678},{"style":73},[1679],{"type":18,"value":1680},"// max cube map image dimension\n",{"type":13,"tag":45,"props":1682,"children":1683},{"class":47,"line":132},[1684,1689,1693,1697,1701],{"type":13,"tag":45,"props":1685,"children":1686},{"style":63},[1687],{"type":18,"value":1688}," max_image_array_layers",{"type":13,"tag":45,"props":1690,"children":1691},{"style":52},[1692],{"type":18,"value":1590},{"type":13,"tag":45,"props":1694,"children":1695},{"style":828},[1696],{"type":18,"value":1595},{"type":13,"tag":45,"props":1698,"children":1699},{"style":63},[1700],{"type":18,"value":1600},{"type":13,"tag":45,"props":1702,"children":1703},{"style":73},[1704],{"type":18,"value":1705},"// max layers for image arrays\n",{"type":13,"tag":45,"props":1707,"children":1708},{"class":47,"line":145},[1709,1714,1718,1722,1726],{"type":13,"tag":45,"props":1710,"children":1711},{"style":63},[1712],{"type":18,"value":1713}," max_texel_buffer_elements",{"type":13,"tag":45,"props":1715,"children":1716},{"style":52},[1717],{"type":18,"value":1590},{"type":13,"tag":45,"props":1719,"children":1720},{"style":828},[1721],{"type":18,"value":1595},{"type":13,"tag":45,"props":1723,"children":1724},{"style":63},[1725],{"type":18,"value":1600},{"type":13,"tag":45,"props":1727,"children":1728},{"style":73},[1729],{"type":18,"value":1730},"// max texel buffer size (fstexels)\n",{"type":13,"tag":45,"props":1732,"children":1733},{"class":47,"line":158},[1734,1739,1743,1747,1751],{"type":13,"tag":45,"props":1735,"children":1736},{"style":63},[1737],{"type":18,"value":1738}," max_uniform_buffer_range",{"type":13,"tag":45,"props":1740,"children":1741},{"style":52},[1742],{"type":18,"value":1590},{"type":13,"tag":45,"props":1744,"children":1745},{"style":828},[1746],{"type":18,"value":1595},{"type":13,"tag":45,"props":1748,"children":1749},{"style":63},[1750],{"type":18,"value":1600},{"type":13,"tag":45,"props":1752,"children":1753},{"style":73},[1754],{"type":18,"value":1755},"// max uniform buffer range (bytes)\n",{"type":13,"tag":45,"props":1757,"children":1758},{"class":47,"line":171},[1759,1764,1768,1772,1776],{"type":13,"tag":45,"props":1760,"children":1761},{"style":63},[1762],{"type":18,"value":1763}," max_storage_buffer_range",{"type":13,"tag":45,"props":1765,"children":1766},{"style":52},[1767],{"type":18,"value":1590},{"type":13,"tag":45,"props":1769,"children":1770},{"style":828},[1771],{"type":18,"value":1595},{"type":13,"tag":45,"props":1773,"children":1774},{"style":63},[1775],{"type":18,"value":1600},{"type":13,"tag":45,"props":1777,"children":1778},{"style":73},[1779],{"type":18,"value":1780},"// max storage buffer range (bytes)\n",{"type":13,"tag":45,"props":1782,"children":1783},{"class":47,"line":184},[1784,1789,1793,1797,1801],{"type":13,"tag":45,"props":1785,"children":1786},{"style":63},[1787],{"type":18,"value":1788}," max_push_constants_size",{"type":13,"tag":45,"props":1790,"children":1791},{"style":52},[1792],{"type":18,"value":1590},{"type":13,"tag":45,"props":1794,"children":1795},{"style":828},[1796],{"type":18,"value":1595},{"type":13,"tag":45,"props":1798,"children":1799},{"style":63},[1800],{"type":18,"value":1600},{"type":13,"tag":45,"props":1802,"children":1803},{"style":73},[1804],{"type":18,"value":1805},"// max size of the push constants pool (bytes)\n",{"type":13,"tag":45,"props":1807,"children":1808},{"class":47,"line":197},[1809],{"type":13,"tag":45,"props":1810,"children":1811},{"style":73},[1812],{"type":18,"value":1813}," /// memory limits\n",{"type":13,"tag":45,"props":1815,"children":1816},{"class":47,"line":206},[1817,1822,1826,1830,1834],{"type":13,"tag":45,"props":1818,"children":1819},{"style":63},[1820],{"type":18,"value":1821}," max_memory_allocation_count",{"type":13,"tag":45,"props":1823,"children":1824},{"style":52},[1825],{"type":18,"value":1590},{"type":13,"tag":45,"props":1827,"children":1828},{"style":828},[1829],{"type":18,"value":1595},{"type":13,"tag":45,"props":1831,"children":1832},{"style":63},[1833],{"type":18,"value":1600},{"type":13,"tag":45,"props":1835,"children":1836},{"style":73},[1837],{"type":18,"value":1838},"// max number of device memory allocations supported\n",{"type":13,"tag":45,"props":1840,"children":1841},{"class":47,"line":219},[1842,1847,1851,1855,1859],{"type":13,"tag":45,"props":1843,"children":1844},{"style":63},[1845],{"type":18,"value":1846}," max_sampler_allocation_count",{"type":13,"tag":45,"props":1848,"children":1849},{"style":52},[1850],{"type":18,"value":1590},{"type":13,"tag":45,"props":1852,"children":1853},{"style":828},[1854],{"type":18,"value":1595},{"type":13,"tag":45,"props":1856,"children":1857},{"style":63},[1858],{"type":18,"value":1600},{"type":13,"tag":45,"props":1860,"children":1861},{"style":73},[1862],{"type":18,"value":1863},"// max number of samplers that can be allocated on a device\n",{"type":13,"tag":45,"props":1865,"children":1866},{"class":47,"line":232},[1867,1872,1876,1881,1886,1891,1895],{"type":13,"tag":45,"props":1868,"children":1869},{"style":63},[1870],{"type":18,"value":1871}," buffer_image_granularity",{"type":13,"tag":45,"props":1873,"children":1874},{"style":52},[1875],{"type":18,"value":1590},{"type":13,"tag":45,"props":1877,"children":1878},{"style":828},[1879],{"type":18,"value":1880}," vk",{"type":13,"tag":45,"props":1882,"children":1883},{"style":52},[1884],{"type":18,"value":1885},"::",{"type":13,"tag":45,"props":1887,"children":1888},{"style":828},[1889],{"type":18,"value":1890},"DeviceSize",{"type":13,"tag":45,"props":1892,"children":1893},{"style":63},[1894],{"type":18,"value":1600},{"type":13,"tag":45,"props":1896,"children":1897},{"style":73},[1898],{"type":18,"value":1899},"// Granularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage\n",{"type":13,"tag":45,"props":1901,"children":1902},{"class":47,"line":241},[1903,1908,1912,1916,1920,1924,1928],{"type":13,"tag":45,"props":1904,"children":1905},{"style":63},[1906],{"type":18,"value":1907}," sparse_address_space_size",{"type":13,"tag":45,"props":1909,"children":1910},{"style":52},[1911],{"type":18,"value":1590},{"type":13,"tag":45,"props":1913,"children":1914},{"style":828},[1915],{"type":18,"value":1880},{"type":13,"tag":45,"props":1917,"children":1918},{"style":52},[1919],{"type":18,"value":1885},{"type":13,"tag":45,"props":1921,"children":1922},{"style":828},[1923],{"type":18,"value":1890},{"type":13,"tag":45,"props":1925,"children":1926},{"style":63},[1927],{"type":18,"value":1600},{"type":13,"tag":45,"props":1929,"children":1930},{"style":73},[1931],{"type":18,"value":1932},"// Total address space available for sparse allocations (bytes)\n",{"type":13,"tag":45,"props":1934,"children":1935},{"class":47,"line":250},[1936],{"type":13,"tag":45,"props":1937,"children":1938},{"style":73},[1939],{"type":18,"value":1940}," /// descriptor set limits\n",{"type":13,"tag":45,"props":1942,"children":1943},{"class":47,"line":259},[1944,1949,1953,1957,1961],{"type":13,"tag":45,"props":1945,"children":1946},{"style":63},[1947],{"type":18,"value":1948}," max_bound_descriptor_sets",{"type":13,"tag":45,"props":1950,"children":1951},{"style":52},[1952],{"type":18,"value":1590},{"type":13,"tag":45,"props":1954,"children":1955},{"style":828},[1956],{"type":18,"value":1595},{"type":13,"tag":45,"props":1958,"children":1959},{"style":63},[1960],{"type":18,"value":1600},{"type":13,"tag":45,"props":1962,"children":1963},{"style":73},[1964],{"type":18,"value":1965},"// max number of descriptors sets that can be bound to a pipeline\n",{"type":13,"tag":45,"props":1967,"children":1968},{"class":47,"line":272},[1969,1974,1978,1982,1986],{"type":13,"tag":45,"props":1970,"children":1971},{"style":63},[1972],{"type":18,"value":1973}," max_per_stage_descriptor_samplers",{"type":13,"tag":45,"props":1975,"children":1976},{"style":52},[1977],{"type":18,"value":1590},{"type":13,"tag":45,"props":1979,"children":1980},{"style":828},[1981],{"type":18,"value":1595},{"type":13,"tag":45,"props":1983,"children":1984},{"style":63},[1985],{"type":18,"value":1600},{"type":13,"tag":45,"props":1987,"children":1988},{"style":73},[1989],{"type":18,"value":1990},"// max number of samplers allowed per-stage in a descriptor set\n",{"type":13,"tag":45,"props":1992,"children":1993},{"class":47,"line":285},[1994,1999,2003,2007,2011],{"type":13,"tag":45,"props":1995,"children":1996},{"style":63},[1997],{"type":18,"value":1998}," max_per_stage_descriptor_uniform_buffers",{"type":13,"tag":45,"props":2000,"children":2001},{"style":52},[2002],{"type":18,"value":1590},{"type":13,"tag":45,"props":2004,"children":2005},{"style":828},[2006],{"type":18,"value":1595},{"type":13,"tag":45,"props":2008,"children":2009},{"style":63},[2010],{"type":18,"value":1600},{"type":13,"tag":45,"props":2012,"children":2013},{"style":73},[2014],{"type":18,"value":2015},"// max number of uniform buffers allowed per-stage in a descriptor set\n",{"type":13,"tag":45,"props":2017,"children":2018},{"class":47,"line":298},[2019,2024,2028,2032,2036],{"type":13,"tag":45,"props":2020,"children":2021},{"style":63},[2022],{"type":18,"value":2023}," max_per_stage_descriptor_storage_buffers",{"type":13,"tag":45,"props":2025,"children":2026},{"style":52},[2027],{"type":18,"value":1590},{"type":13,"tag":45,"props":2029,"children":2030},{"style":828},[2031],{"type":18,"value":1595},{"type":13,"tag":45,"props":2033,"children":2034},{"style":63},[2035],{"type":18,"value":1600},{"type":13,"tag":45,"props":2037,"children":2038},{"style":73},[2039],{"type":18,"value":2040},"// max number of storage buffers allowed per-stage in a descriptor set\n",{"type":13,"tag":45,"props":2042,"children":2043},{"class":47,"line":311},[2044,2049,2053,2057,2061],{"type":13,"tag":45,"props":2045,"children":2046},{"style":63},[2047],{"type":18,"value":2048}," max_per_stage_descriptor_sampled_images",{"type":13,"tag":45,"props":2050,"children":2051},{"style":52},[2052],{"type":18,"value":1590},{"type":13,"tag":45,"props":2054,"children":2055},{"style":828},[2056],{"type":18,"value":1595},{"type":13,"tag":45,"props":2058,"children":2059},{"style":63},[2060],{"type":18,"value":1600},{"type":13,"tag":45,"props":2062,"children":2063},{"style":73},[2064],{"type":18,"value":2065},"// max number of sampled images allowed per-stage in a descriptor set\n",{"type":13,"tag":45,"props":2067,"children":2068},{"class":47,"line":324},[2069,2074,2078,2082,2086],{"type":13,"tag":45,"props":2070,"children":2071},{"style":63},[2072],{"type":18,"value":2073}," max_per_stage_descriptor_storage_images",{"type":13,"tag":45,"props":2075,"children":2076},{"style":52},[2077],{"type":18,"value":1590},{"type":13,"tag":45,"props":2079,"children":2080},{"style":828},[2081],{"type":18,"value":1595},{"type":13,"tag":45,"props":2083,"children":2084},{"style":63},[2085],{"type":18,"value":1600},{"type":13,"tag":45,"props":2087,"children":2088},{"style":73},[2089],{"type":18,"value":2090},"// max number of storage images allowed per-stage in a descriptor set\n",{"type":13,"tag":45,"props":2092,"children":2093},{"class":47,"line":337},[2094,2099,2103,2107,2111],{"type":13,"tag":45,"props":2095,"children":2096},{"style":63},[2097],{"type":18,"value":2098}," max_per_stage_descriptor_input_attachments",{"type":13,"tag":45,"props":2100,"children":2101},{"style":52},[2102],{"type":18,"value":1590},{"type":13,"tag":45,"props":2104,"children":2105},{"style":828},[2106],{"type":18,"value":1595},{"type":13,"tag":45,"props":2108,"children":2109},{"style":63},[2110],{"type":18,"value":1600},{"type":13,"tag":45,"props":2112,"children":2113},{"style":73},[2114],{"type":18,"value":2115},"// max number of input attachments allowed per-stage in a descriptor set\n",{"type":13,"tag":45,"props":2117,"children":2118},{"class":47,"line":350},[2119,2124,2128,2132,2136],{"type":13,"tag":45,"props":2120,"children":2121},{"style":63},[2122],{"type":18,"value":2123}," max_per_stage_resources",{"type":13,"tag":45,"props":2125,"children":2126},{"style":52},[2127],{"type":18,"value":1590},{"type":13,"tag":45,"props":2129,"children":2130},{"style":828},[2131],{"type":18,"value":1595},{"type":13,"tag":45,"props":2133,"children":2134},{"style":63},[2135],{"type":18,"value":1600},{"type":13,"tag":45,"props":2137,"children":2138},{"style":73},[2139],{"type":18,"value":2140},"// max number of resources allowed by a single stage\n",{"type":13,"tag":45,"props":2142,"children":2143},{"class":47,"line":363},[2144,2149,2153,2157,2161],{"type":13,"tag":45,"props":2145,"children":2146},{"style":63},[2147],{"type":18,"value":2148}," max_descriptor_set_samplers",{"type":13,"tag":45,"props":2150,"children":2151},{"style":52},[2152],{"type":18,"value":1590},{"type":13,"tag":45,"props":2154,"children":2155},{"style":828},[2156],{"type":18,"value":1595},{"type":13,"tag":45,"props":2158,"children":2159},{"style":63},[2160],{"type":18,"value":1600},{"type":13,"tag":45,"props":2162,"children":2163},{"style":73},[2164],{"type":18,"value":2165},"// max number of samplers allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2167,"children":2168},{"class":47,"line":376},[2169,2174,2178,2182,2186],{"type":13,"tag":45,"props":2170,"children":2171},{"style":63},[2172],{"type":18,"value":2173}," max_descriptor_set_uniform_buffers",{"type":13,"tag":45,"props":2175,"children":2176},{"style":52},[2177],{"type":18,"value":1590},{"type":13,"tag":45,"props":2179,"children":2180},{"style":828},[2181],{"type":18,"value":1595},{"type":13,"tag":45,"props":2183,"children":2184},{"style":63},[2185],{"type":18,"value":1600},{"type":13,"tag":45,"props":2187,"children":2188},{"style":73},[2189],{"type":18,"value":2190},"// max number of uniform buffers allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2192,"children":2193},{"class":47,"line":389},[2194,2199,2203,2207,2211],{"type":13,"tag":45,"props":2195,"children":2196},{"style":63},[2197],{"type":18,"value":2198}," max_descriptor_set_uniform_buffers_dynamic",{"type":13,"tag":45,"props":2200,"children":2201},{"style":52},[2202],{"type":18,"value":1590},{"type":13,"tag":45,"props":2204,"children":2205},{"style":828},[2206],{"type":18,"value":1595},{"type":13,"tag":45,"props":2208,"children":2209},{"style":63},[2210],{"type":18,"value":1600},{"type":13,"tag":45,"props":2212,"children":2213},{"style":73},[2214],{"type":18,"value":2215},"// max number of dynamic uniform buffers allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2217,"children":2218},{"class":47,"line":402},[2219,2224,2228,2232,2236],{"type":13,"tag":45,"props":2220,"children":2221},{"style":63},[2222],{"type":18,"value":2223}," max_descriptor_set_storage_buffers",{"type":13,"tag":45,"props":2225,"children":2226},{"style":52},[2227],{"type":18,"value":1590},{"type":13,"tag":45,"props":2229,"children":2230},{"style":828},[2231],{"type":18,"value":1595},{"type":13,"tag":45,"props":2233,"children":2234},{"style":63},[2235],{"type":18,"value":1600},{"type":13,"tag":45,"props":2237,"children":2238},{"style":73},[2239],{"type":18,"value":2240},"// max number of storage buffers allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2242,"children":2243},{"class":47,"line":415},[2244,2249,2253,2257,2261],{"type":13,"tag":45,"props":2245,"children":2246},{"style":63},[2247],{"type":18,"value":2248}," max_descriptor_set_storage_buffers_dynamic",{"type":13,"tag":45,"props":2250,"children":2251},{"style":52},[2252],{"type":18,"value":1590},{"type":13,"tag":45,"props":2254,"children":2255},{"style":828},[2256],{"type":18,"value":1595},{"type":13,"tag":45,"props":2258,"children":2259},{"style":63},[2260],{"type":18,"value":1600},{"type":13,"tag":45,"props":2262,"children":2263},{"style":73},[2264],{"type":18,"value":2265},"// max number of dynamic storage buffers allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2267,"children":2268},{"class":47,"line":428},[2269,2274,2278,2282,2286],{"type":13,"tag":45,"props":2270,"children":2271},{"style":63},[2272],{"type":18,"value":2273}," max_descriptor_set_sampled_images",{"type":13,"tag":45,"props":2275,"children":2276},{"style":52},[2277],{"type":18,"value":1590},{"type":13,"tag":45,"props":2279,"children":2280},{"style":828},[2281],{"type":18,"value":1595},{"type":13,"tag":45,"props":2283,"children":2284},{"style":63},[2285],{"type":18,"value":1600},{"type":13,"tag":45,"props":2287,"children":2288},{"style":73},[2289],{"type":18,"value":2290},"// max number of sampled images allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2292,"children":2293},{"class":47,"line":441},[2294,2299,2303,2307,2311],{"type":13,"tag":45,"props":2295,"children":2296},{"style":63},[2297],{"type":18,"value":2298}," max_descriptor_set_storage_images",{"type":13,"tag":45,"props":2300,"children":2301},{"style":52},[2302],{"type":18,"value":1590},{"type":13,"tag":45,"props":2304,"children":2305},{"style":828},[2306],{"type":18,"value":1595},{"type":13,"tag":45,"props":2308,"children":2309},{"style":63},[2310],{"type":18,"value":1600},{"type":13,"tag":45,"props":2312,"children":2313},{"style":73},[2314],{"type":18,"value":2315},"// max number of storage images allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2317,"children":2318},{"class":47,"line":454},[2319,2324,2328,2332,2336],{"type":13,"tag":45,"props":2320,"children":2321},{"style":63},[2322],{"type":18,"value":2323}," max_descriptor_set_input_attachments",{"type":13,"tag":45,"props":2325,"children":2326},{"style":52},[2327],{"type":18,"value":1590},{"type":13,"tag":45,"props":2329,"children":2330},{"style":828},[2331],{"type":18,"value":1595},{"type":13,"tag":45,"props":2333,"children":2334},{"style":63},[2335],{"type":18,"value":1600},{"type":13,"tag":45,"props":2337,"children":2338},{"style":73},[2339],{"type":18,"value":2340},"// max number of input attachments allowed in all stages in a descriptor set\n",{"type":13,"tag":45,"props":2342,"children":2343},{"class":47,"line":467},[2344],{"type":13,"tag":45,"props":2345,"children":2346},{"style":73},[2347],{"type":18,"value":2348}," /// vertex stage limits\n",{"type":13,"tag":45,"props":2350,"children":2351},{"class":47,"line":476},[2352,2357,2361,2365,2369],{"type":13,"tag":45,"props":2353,"children":2354},{"style":63},[2355],{"type":18,"value":2356}," max_vertex_input_attributes",{"type":13,"tag":45,"props":2358,"children":2359},{"style":52},[2360],{"type":18,"value":1590},{"type":13,"tag":45,"props":2362,"children":2363},{"style":828},[2364],{"type":18,"value":1595},{"type":13,"tag":45,"props":2366,"children":2367},{"style":63},[2368],{"type":18,"value":1600},{"type":13,"tag":45,"props":2370,"children":2371},{"style":73},[2372],{"type":18,"value":2373},"// max number of vertex input attribute slots\n",{"type":13,"tag":45,"props":2375,"children":2376},{"class":47,"line":489},[2377,2382,2386,2390,2394],{"type":13,"tag":45,"props":2378,"children":2379},{"style":63},[2380],{"type":18,"value":2381}," max_vertex_input_bindings",{"type":13,"tag":45,"props":2383,"children":2384},{"style":52},[2385],{"type":18,"value":1590},{"type":13,"tag":45,"props":2387,"children":2388},{"style":828},[2389],{"type":18,"value":1595},{"type":13,"tag":45,"props":2391,"children":2392},{"style":63},[2393],{"type":18,"value":1600},{"type":13,"tag":45,"props":2395,"children":2396},{"style":73},[2397],{"type":18,"value":2398},"// max number of vertex input binding slots\n",{"type":13,"tag":45,"props":2400,"children":2401},{"class":47,"line":502},[2402,2407,2411,2415,2419],{"type":13,"tag":45,"props":2403,"children":2404},{"style":63},[2405],{"type":18,"value":2406}," max_vertex_input_attribute_offset",{"type":13,"tag":45,"props":2408,"children":2409},{"style":52},[2410],{"type":18,"value":1590},{"type":13,"tag":45,"props":2412,"children":2413},{"style":828},[2414],{"type":18,"value":1595},{"type":13,"tag":45,"props":2416,"children":2417},{"style":63},[2418],{"type":18,"value":1600},{"type":13,"tag":45,"props":2420,"children":2421},{"style":73},[2422],{"type":18,"value":2423},"// max vertex input attribute offset added to vertex buffer offset\n",{"type":13,"tag":45,"props":2425,"children":2426},{"class":47,"line":515},[2427,2432,2436,2440,2444],{"type":13,"tag":45,"props":2428,"children":2429},{"style":63},[2430],{"type":18,"value":2431}," max_vertex_input_binding_stride",{"type":13,"tag":45,"props":2433,"children":2434},{"style":52},[2435],{"type":18,"value":1590},{"type":13,"tag":45,"props":2437,"children":2438},{"style":828},[2439],{"type":18,"value":1595},{"type":13,"tag":45,"props":2441,"children":2442},{"style":63},[2443],{"type":18,"value":1600},{"type":13,"tag":45,"props":2445,"children":2446},{"style":73},[2447],{"type":18,"value":2448},"// max vertex input binding stride\n",{"type":13,"tag":45,"props":2450,"children":2451},{"class":47,"line":528},[2452,2457,2461,2465,2469],{"type":13,"tag":45,"props":2453,"children":2454},{"style":63},[2455],{"type":18,"value":2456}," max_vertex_output_components",{"type":13,"tag":45,"props":2458,"children":2459},{"style":52},[2460],{"type":18,"value":1590},{"type":13,"tag":45,"props":2462,"children":2463},{"style":828},[2464],{"type":18,"value":1595},{"type":13,"tag":45,"props":2466,"children":2467},{"style":63},[2468],{"type":18,"value":1600},{"type":13,"tag":45,"props":2470,"children":2471},{"style":73},[2472],{"type":18,"value":2473},"// max number of output components written by vertex shader\n",{"type":13,"tag":45,"props":2475,"children":2476},{"class":47,"line":541},[2477],{"type":13,"tag":45,"props":2478,"children":2479},{"style":73},[2480],{"type":18,"value":2481}," /// tessellation control stage limits\n",{"type":13,"tag":45,"props":2483,"children":2484},{"class":47,"line":550},[2485,2490,2494,2498,2502],{"type":13,"tag":45,"props":2486,"children":2487},{"style":63},[2488],{"type":18,"value":2489}," max_tessellation_generation_level",{"type":13,"tag":45,"props":2491,"children":2492},{"style":52},[2493],{"type":18,"value":1590},{"type":13,"tag":45,"props":2495,"children":2496},{"style":828},[2497],{"type":18,"value":1595},{"type":13,"tag":45,"props":2499,"children":2500},{"style":63},[2501],{"type":18,"value":1600},{"type":13,"tag":45,"props":2503,"children":2504},{"style":73},[2505],{"type":18,"value":2506},"// max level supported by tessellation primitive generator\n",{"type":13,"tag":45,"props":2508,"children":2509},{"class":47,"line":563},[2510,2515,2519,2523,2527],{"type":13,"tag":45,"props":2511,"children":2512},{"style":63},[2513],{"type":18,"value":2514}," max_tessellation_patch_size",{"type":13,"tag":45,"props":2516,"children":2517},{"style":52},[2518],{"type":18,"value":1590},{"type":13,"tag":45,"props":2520,"children":2521},{"style":828},[2522],{"type":18,"value":1595},{"type":13,"tag":45,"props":2524,"children":2525},{"style":63},[2526],{"type":18,"value":1600},{"type":13,"tag":45,"props":2528,"children":2529},{"style":73},[2530],{"type":18,"value":2531},"// max patch size (vertices)\n",{"type":13,"tag":45,"props":2533,"children":2534},{"class":47,"line":576},[2535,2540,2544,2548,2552],{"type":13,"tag":45,"props":2536,"children":2537},{"style":63},[2538],{"type":18,"value":2539}," max_tessellation_control_per_vertex_input_components",{"type":13,"tag":45,"props":2541,"children":2542},{"style":52},[2543],{"type":18,"value":1590},{"type":13,"tag":45,"props":2545,"children":2546},{"style":828},[2547],{"type":18,"value":1595},{"type":13,"tag":45,"props":2549,"children":2550},{"style":63},[2551],{"type":18,"value":1600},{"type":13,"tag":45,"props":2553,"children":2554},{"style":73},[2555],{"type":18,"value":2556},"// max number of input components per-vertex in TCS\n",{"type":13,"tag":45,"props":2558,"children":2559},{"class":47,"line":589},[2560,2565,2569,2573,2577],{"type":13,"tag":45,"props":2561,"children":2562},{"style":63},[2563],{"type":18,"value":2564}," max_tessellation_control_per_vertex_output_components",{"type":13,"tag":45,"props":2566,"children":2567},{"style":52},[2568],{"type":18,"value":1590},{"type":13,"tag":45,"props":2570,"children":2571},{"style":828},[2572],{"type":18,"value":1595},{"type":13,"tag":45,"props":2574,"children":2575},{"style":63},[2576],{"type":18,"value":1600},{"type":13,"tag":45,"props":2578,"children":2579},{"style":73},[2580],{"type":18,"value":2581},"// max number of output components per-vertex in TCS\n",{"type":13,"tag":45,"props":2583,"children":2584},{"class":47,"line":602},[2585,2590,2594,2598,2602],{"type":13,"tag":45,"props":2586,"children":2587},{"style":63},[2588],{"type":18,"value":2589}," max_tessellation_control_per_patch_output_components",{"type":13,"tag":45,"props":2591,"children":2592},{"style":52},[2593],{"type":18,"value":1590},{"type":13,"tag":45,"props":2595,"children":2596},{"style":828},[2597],{"type":18,"value":1595},{"type":13,"tag":45,"props":2599,"children":2600},{"style":63},[2601],{"type":18,"value":1600},{"type":13,"tag":45,"props":2603,"children":2604},{"style":73},[2605],{"type":18,"value":2606},"// max number of output components per-patch in TCS\n",{"type":13,"tag":45,"props":2608,"children":2609},{"class":47,"line":615},[2610,2615,2619,2623,2627],{"type":13,"tag":45,"props":2611,"children":2612},{"style":63},[2613],{"type":18,"value":2614}," max_tessellation_control_total_output_components",{"type":13,"tag":45,"props":2616,"children":2617},{"style":52},[2618],{"type":18,"value":1590},{"type":13,"tag":45,"props":2620,"children":2621},{"style":828},[2622],{"type":18,"value":1595},{"type":13,"tag":45,"props":2624,"children":2625},{"style":63},[2626],{"type":18,"value":1600},{"type":13,"tag":45,"props":2628,"children":2629},{"style":73},[2630],{"type":18,"value":2631},"// max total number of per-vertex and per-patch output components in TCS\n",{"type":13,"tag":45,"props":2633,"children":2634},{"class":47,"line":628},[2635],{"type":13,"tag":45,"props":2636,"children":2637},{"style":73},[2638],{"type":18,"value":2639}," /// tessellation evaluation stage limits\n",{"type":13,"tag":45,"props":2641,"children":2642},{"class":47,"line":637},[2643,2648,2652,2656,2660],{"type":13,"tag":45,"props":2644,"children":2645},{"style":63},[2646],{"type":18,"value":2647}," max_tessellation_evaluation_input_components",{"type":13,"tag":45,"props":2649,"children":2650},{"style":52},[2651],{"type":18,"value":1590},{"type":13,"tag":45,"props":2653,"children":2654},{"style":828},[2655],{"type":18,"value":1595},{"type":13,"tag":45,"props":2657,"children":2658},{"style":63},[2659],{"type":18,"value":1600},{"type":13,"tag":45,"props":2661,"children":2662},{"style":73},[2663],{"type":18,"value":2664},"// max number of input components per vertex in TES\n",{"type":13,"tag":45,"props":2666,"children":2667},{"class":47,"line":650},[2668,2673,2677,2681,2685],{"type":13,"tag":45,"props":2669,"children":2670},{"style":63},[2671],{"type":18,"value":2672}," max_tessellation_evaluation_output_components",{"type":13,"tag":45,"props":2674,"children":2675},{"style":52},[2676],{"type":18,"value":1590},{"type":13,"tag":45,"props":2678,"children":2679},{"style":828},[2680],{"type":18,"value":1595},{"type":13,"tag":45,"props":2682,"children":2683},{"style":63},[2684],{"type":18,"value":1600},{"type":13,"tag":45,"props":2686,"children":2687},{"style":73},[2688],{"type":18,"value":2689},"// max number of output components per vertex in TES\n",{"type":13,"tag":45,"props":2691,"children":2692},{"class":47,"line":663},[2693],{"type":13,"tag":45,"props":2694,"children":2695},{"style":73},[2696],{"type":18,"value":2697}," /// geometry stage limits\n",{"type":13,"tag":45,"props":2699,"children":2700},{"class":47,"line":672},[2701,2706,2710,2714,2718],{"type":13,"tag":45,"props":2702,"children":2703},{"style":63},[2704],{"type":18,"value":2705}," max_geometry_shader_invocations",{"type":13,"tag":45,"props":2707,"children":2708},{"style":52},[2709],{"type":18,"value":1590},{"type":13,"tag":45,"props":2711,"children":2712},{"style":828},[2713],{"type":18,"value":1595},{"type":13,"tag":45,"props":2715,"children":2716},{"style":63},[2717],{"type":18,"value":1600},{"type":13,"tag":45,"props":2719,"children":2720},{"style":73},[2721],{"type":18,"value":2722},"// max invocation count supported in geometry shader\n",{"type":13,"tag":45,"props":2724,"children":2725},{"class":47,"line":685},[2726,2731,2735,2739,2743],{"type":13,"tag":45,"props":2727,"children":2728},{"style":63},[2729],{"type":18,"value":2730}," max_geometry_input_components",{"type":13,"tag":45,"props":2732,"children":2733},{"style":52},[2734],{"type":18,"value":1590},{"type":13,"tag":45,"props":2736,"children":2737},{"style":828},[2738],{"type":18,"value":1595},{"type":13,"tag":45,"props":2740,"children":2741},{"style":63},[2742],{"type":18,"value":1600},{"type":13,"tag":45,"props":2744,"children":2745},{"style":73},[2746],{"type":18,"value":2747},"// max number of input components read in geometry stage\n",{"type":13,"tag":45,"props":2749,"children":2750},{"class":47,"line":698},[2751,2756,2760,2764,2768],{"type":13,"tag":45,"props":2752,"children":2753},{"style":63},[2754],{"type":18,"value":2755}," max_geometry_output_components",{"type":13,"tag":45,"props":2757,"children":2758},{"style":52},[2759],{"type":18,"value":1590},{"type":13,"tag":45,"props":2761,"children":2762},{"style":828},[2763],{"type":18,"value":1595},{"type":13,"tag":45,"props":2765,"children":2766},{"style":63},[2767],{"type":18,"value":1600},{"type":13,"tag":45,"props":2769,"children":2770},{"style":73},[2771],{"type":18,"value":2772},"// max number of output components written in geometry stage\n",{"type":13,"tag":45,"props":2774,"children":2775},{"class":47,"line":711},[2776,2781,2785,2789,2793],{"type":13,"tag":45,"props":2777,"children":2778},{"style":63},[2779],{"type":18,"value":2780}," max_geometry_output_vertices",{"type":13,"tag":45,"props":2782,"children":2783},{"style":52},[2784],{"type":18,"value":1590},{"type":13,"tag":45,"props":2786,"children":2787},{"style":828},[2788],{"type":18,"value":1595},{"type":13,"tag":45,"props":2790,"children":2791},{"style":63},[2792],{"type":18,"value":1600},{"type":13,"tag":45,"props":2794,"children":2795},{"style":73},[2796],{"type":18,"value":2797},"// max number of vertices that can be emitted in geometry stage\n",{"type":13,"tag":45,"props":2799,"children":2800},{"class":47,"line":724},[2801,2806,2810,2814,2818],{"type":13,"tag":45,"props":2802,"children":2803},{"style":63},[2804],{"type":18,"value":2805}," max_geometry_total_output_components",{"type":13,"tag":45,"props":2807,"children":2808},{"style":52},[2809],{"type":18,"value":1590},{"type":13,"tag":45,"props":2811,"children":2812},{"style":828},[2813],{"type":18,"value":1595},{"type":13,"tag":45,"props":2815,"children":2816},{"style":63},[2817],{"type":18,"value":1600},{"type":13,"tag":45,"props":2819,"children":2820},{"style":73},[2821],{"type":18,"value":2822},"// max total number of components (all vertices) written in geometry stage\n",{"type":13,"tag":45,"props":2824,"children":2825},{"class":47,"line":737},[2826],{"type":13,"tag":45,"props":2827,"children":2828},{"style":73},[2829],{"type":18,"value":2830}," /// fragment stage limits\n",{"type":13,"tag":45,"props":2832,"children":2833},{"class":47,"line":746},[2834,2839,2843,2847,2851],{"type":13,"tag":45,"props":2835,"children":2836},{"style":63},[2837],{"type":18,"value":2838}," max_fragment_input_components",{"type":13,"tag":45,"props":2840,"children":2841},{"style":52},[2842],{"type":18,"value":1590},{"type":13,"tag":45,"props":2844,"children":2845},{"style":828},[2846],{"type":18,"value":1595},{"type":13,"tag":45,"props":2848,"children":2849},{"style":63},[2850],{"type":18,"value":1600},{"type":13,"tag":45,"props":2852,"children":2853},{"style":73},[2854],{"type":18,"value":2855},"// max number of input components read in fragment stage\n",{"type":13,"tag":45,"props":2857,"children":2858},{"class":47,"line":759},[2859,2864,2868,2872,2876],{"type":13,"tag":45,"props":2860,"children":2861},{"style":63},[2862],{"type":18,"value":2863}," max_fragment_output_attachments",{"type":13,"tag":45,"props":2865,"children":2866},{"style":52},[2867],{"type":18,"value":1590},{"type":13,"tag":45,"props":2869,"children":2870},{"style":828},[2871],{"type":18,"value":1595},{"type":13,"tag":45,"props":2873,"children":2874},{"style":63},[2875],{"type":18,"value":1600},{"type":13,"tag":45,"props":2877,"children":2878},{"style":73},[2879],{"type":18,"value":2880},"// max number of output attachments written in fragment stage\n",{"type":13,"tag":45,"props":2882,"children":2883},{"class":47,"line":772},[2884,2889,2893,2897,2901],{"type":13,"tag":45,"props":2885,"children":2886},{"style":63},[2887],{"type":18,"value":2888}," max_fragment_dual_src_attachments",{"type":13,"tag":45,"props":2890,"children":2891},{"style":52},[2892],{"type":18,"value":1590},{"type":13,"tag":45,"props":2894,"children":2895},{"style":828},[2896],{"type":18,"value":1595},{"type":13,"tag":45,"props":2898,"children":2899},{"style":63},[2900],{"type":18,"value":1600},{"type":13,"tag":45,"props":2902,"children":2903},{"style":73},[2904],{"type":18,"value":2905},"// max number of output attachments written when using dual source blending\n",{"type":13,"tag":45,"props":2907,"children":2908},{"class":47,"line":785},[2909,2914,2918,2922,2926],{"type":13,"tag":45,"props":2910,"children":2911},{"style":63},[2912],{"type":18,"value":2913}," max_fragment_combined_output_resources",{"type":13,"tag":45,"props":2915,"children":2916},{"style":52},[2917],{"type":18,"value":1590},{"type":13,"tag":45,"props":2919,"children":2920},{"style":828},[2921],{"type":18,"value":1595},{"type":13,"tag":45,"props":2923,"children":2924},{"style":63},[2925],{"type":18,"value":1600},{"type":13,"tag":45,"props":2927,"children":2928},{"style":73},[2929],{"type":18,"value":2930},"// max total number of storage buffers, storage images and output buffers\n",{"type":13,"tag":45,"props":2932,"children":2933},{"class":47,"line":798},[2934],{"type":13,"tag":45,"props":2935,"children":2936},{"style":73},[2937],{"type":18,"value":2938}," /// compute stage limits\n",{"type":13,"tag":45,"props":2940,"children":2941},{"class":47,"line":807},[2942,2947,2951,2955,2959],{"type":13,"tag":45,"props":2943,"children":2944},{"style":63},[2945],{"type":18,"value":2946}," max_compute_shared_memory_size",{"type":13,"tag":45,"props":2948,"children":2949},{"style":52},[2950],{"type":18,"value":1590},{"type":13,"tag":45,"props":2952,"children":2953},{"style":828},[2954],{"type":18,"value":1595},{"type":13,"tag":45,"props":2956,"children":2957},{"style":63},[2958],{"type":18,"value":1600},{"type":13,"tag":45,"props":2960,"children":2961},{"style":73},[2962],{"type":18,"value":2963},"// max total storage size of work group local storage (bytes)\n",{"type":13,"tag":45,"props":2965,"children":2966},{"class":47,"line":820},[2967,2972,2976,2981,2986,2991,2996,3000,3005],{"type":13,"tag":45,"props":2968,"children":2969},{"style":63},[2970],{"type":18,"value":2971}," max_compute_work_group_count",{"type":13,"tag":45,"props":2973,"children":2974},{"style":52},[2975],{"type":18,"value":1590},{"type":13,"tag":45,"props":2977,"children":2978},{"style":52},[2979],{"type":18,"value":2980}," *const",{"type":13,"tag":45,"props":2982,"children":2983},{"style":63},[2984],{"type":18,"value":2985}," [",{"type":13,"tag":45,"props":2987,"children":2988},{"style":828},[2989],{"type":18,"value":2990},"u32",{"type":13,"tag":45,"props":2992,"children":2993},{"style":63},[2994],{"type":18,"value":2995}," ; ",{"type":13,"tag":45,"props":2997,"children":2998},{"style":839},[2999],{"type":18,"value":842},{"type":13,"tag":45,"props":3001,"children":3002},{"style":63},[3003],{"type":18,"value":3004},"], ",{"type":13,"tag":45,"props":3006,"children":3007},{"style":73},[3008],{"type":18,"value":3009},"// max num of compute work groups that may be dispatched by a single command (x,y,z)\n",{"type":13,"tag":45,"props":3011,"children":3012},{"class":47,"line":850},[3013,3018,3022,3026,3030],{"type":13,"tag":45,"props":3014,"children":3015},{"style":63},[3016],{"type":18,"value":3017}," max_compute_work_group_invocations",{"type":13,"tag":45,"props":3019,"children":3020},{"style":52},[3021],{"type":18,"value":1590},{"type":13,"tag":45,"props":3023,"children":3024},{"style":828},[3025],{"type":18,"value":1595},{"type":13,"tag":45,"props":3027,"children":3028},{"style":63},[3029],{"type":18,"value":1600},{"type":13,"tag":45,"props":3031,"children":3032},{"style":73},[3033],{"type":18,"value":3034},"// max total compute invocations in a single local work group\n",{"type":13,"tag":45,"props":3036,"children":3037},{"class":47,"line":863},[3038,3043,3047,3051,3055,3059,3063,3067,3071],{"type":13,"tag":45,"props":3039,"children":3040},{"style":63},[3041],{"type":18,"value":3042}," max_compute_work_group_size",{"type":13,"tag":45,"props":3044,"children":3045},{"style":52},[3046],{"type":18,"value":1590},{"type":13,"tag":45,"props":3048,"children":3049},{"style":52},[3050],{"type":18,"value":2980},{"type":13,"tag":45,"props":3052,"children":3053},{"style":63},[3054],{"type":18,"value":2985},{"type":13,"tag":45,"props":3056,"children":3057},{"style":828},[3058],{"type":18,"value":2990},{"type":13,"tag":45,"props":3060,"children":3061},{"style":63},[3062],{"type":18,"value":2995},{"type":13,"tag":45,"props":3064,"children":3065},{"style":839},[3066],{"type":18,"value":842},{"type":13,"tag":45,"props":3068,"children":3069},{"style":63},[3070],{"type":18,"value":3004},{"type":13,"tag":45,"props":3072,"children":3073},{"style":73},[3074],{"type":18,"value":3075},"// max local size of a compute work group (x,y,z)\n",{"type":13,"tag":45,"props":3077,"children":3078},{"class":47,"line":888},[3079,3084,3088,3092,3096],{"type":13,"tag":45,"props":3080,"children":3081},{"style":63},[3082],{"type":18,"value":3083}," sub_pixel_precision_bits",{"type":13,"tag":45,"props":3085,"children":3086},{"style":52},[3087],{"type":18,"value":1590},{"type":13,"tag":45,"props":3089,"children":3090},{"style":828},[3091],{"type":18,"value":1595},{"type":13,"tag":45,"props":3093,"children":3094},{"style":63},[3095],{"type":18,"value":1600},{"type":13,"tag":45,"props":3097,"children":3098},{"style":73},[3099],{"type":18,"value":3100},"// number bits of subpixel precision in screen x and y\n",{"type":13,"tag":45,"props":3102,"children":3103},{"class":47,"line":901},[3104,3109,3113,3117,3121],{"type":13,"tag":45,"props":3105,"children":3106},{"style":63},[3107],{"type":18,"value":3108}," sub_texel_precision_bits",{"type":13,"tag":45,"props":3110,"children":3111},{"style":52},[3112],{"type":18,"value":1590},{"type":13,"tag":45,"props":3114,"children":3115},{"style":828},[3116],{"type":18,"value":1595},{"type":13,"tag":45,"props":3118,"children":3119},{"style":63},[3120],{"type":18,"value":1600},{"type":13,"tag":45,"props":3122,"children":3123},{"style":73},[3124],{"type":18,"value":3125},"// number bits of precision for selecting texel weights\n",{"type":13,"tag":45,"props":3127,"children":3128},{"class":47,"line":914},[3129,3134,3138,3142,3146],{"type":13,"tag":45,"props":3130,"children":3131},{"style":63},[3132],{"type":18,"value":3133}," mipmap_precision_bits",{"type":13,"tag":45,"props":3135,"children":3136},{"style":52},[3137],{"type":18,"value":1590},{"type":13,"tag":45,"props":3139,"children":3140},{"style":828},[3141],{"type":18,"value":1595},{"type":13,"tag":45,"props":3143,"children":3144},{"style":63},[3145],{"type":18,"value":1600},{"type":13,"tag":45,"props":3147,"children":3148},{"style":73},[3149],{"type":18,"value":3150},"// number bits of precision for selecting mipmap weights\n",{"type":13,"tag":45,"props":3152,"children":3153},{"class":47,"line":927},[3154,3159,3163,3167,3171],{"type":13,"tag":45,"props":3155,"children":3156},{"style":63},[3157],{"type":18,"value":3158}," max_draw_indexed_index_value",{"type":13,"tag":45,"props":3160,"children":3161},{"style":52},[3162],{"type":18,"value":1590},{"type":13,"tag":45,"props":3164,"children":3165},{"style":828},[3166],{"type":18,"value":1595},{"type":13,"tag":45,"props":3168,"children":3169},{"style":63},[3170],{"type":18,"value":1600},{"type":13,"tag":45,"props":3172,"children":3173},{"style":73},[3174],{"type":18,"value":3175},"// max index value for indexed draw calls (for 32-bit indices)\n",{"type":13,"tag":45,"props":3177,"children":3178},{"class":47,"line":940},[3179,3184,3188,3192,3196],{"type":13,"tag":45,"props":3180,"children":3181},{"style":63},[3182],{"type":18,"value":3183}," max_draw_indirect_count",{"type":13,"tag":45,"props":3185,"children":3186},{"style":52},[3187],{"type":18,"value":1590},{"type":13,"tag":45,"props":3189,"children":3190},{"style":828},[3191],{"type":18,"value":1595},{"type":13,"tag":45,"props":3193,"children":3194},{"style":63},[3195],{"type":18,"value":1600},{"type":13,"tag":45,"props":3197,"children":3198},{"style":73},[3199],{"type":18,"value":3200},"// max draw count for indirect drawing calls\n",{"type":13,"tag":45,"props":3202,"children":3203},{"class":47,"line":953},[3204,3209,3213,3218,3222],{"type":13,"tag":45,"props":3205,"children":3206},{"style":63},[3207],{"type":18,"value":3208}," max_sampler_lod_bias",{"type":13,"tag":45,"props":3210,"children":3211},{"style":52},[3212],{"type":18,"value":1590},{"type":13,"tag":45,"props":3214,"children":3215},{"style":828},[3216],{"type":18,"value":3217}," f32",{"type":13,"tag":45,"props":3219,"children":3220},{"style":63},[3221],{"type":18,"value":1600},{"type":13,"tag":45,"props":3223,"children":3224},{"style":73},[3225],{"type":18,"value":3226},"// max absolute sampler LOD bias\n",{"type":13,"tag":45,"props":3228,"children":3229},{"class":47,"line":967},[3230,3235,3239,3243,3247],{"type":13,"tag":45,"props":3231,"children":3232},{"style":63},[3233],{"type":18,"value":3234}," max_sampler_anisotropy",{"type":13,"tag":45,"props":3236,"children":3237},{"style":52},[3238],{"type":18,"value":1590},{"type":13,"tag":45,"props":3240,"children":3241},{"style":828},[3242],{"type":18,"value":3217},{"type":13,"tag":45,"props":3244,"children":3245},{"style":63},[3246],{"type":18,"value":1600},{"type":13,"tag":45,"props":3248,"children":3249},{"style":73},[3250],{"type":18,"value":3251},"// max degree of sampler anisotropy\n",{"type":13,"tag":45,"props":3253,"children":3254},{"class":47,"line":980},[3255,3260,3264,3268,3272],{"type":13,"tag":45,"props":3256,"children":3257},{"style":63},[3258],{"type":18,"value":3259}," max_viewports",{"type":13,"tag":45,"props":3261,"children":3262},{"style":52},[3263],{"type":18,"value":1590},{"type":13,"tag":45,"props":3265,"children":3266},{"style":828},[3267],{"type":18,"value":1595},{"type":13,"tag":45,"props":3269,"children":3270},{"style":63},[3271],{"type":18,"value":1600},{"type":13,"tag":45,"props":3273,"children":3274},{"style":73},[3275],{"type":18,"value":3276},"// max number of active viewports\n",{"type":13,"tag":45,"props":3278,"children":3279},{"class":47,"line":993},[3280,3285,3289,3293,3297,3301,3305,3309,3313],{"type":13,"tag":45,"props":3281,"children":3282},{"style":63},[3283],{"type":18,"value":3284}," max_viewport_dimensions",{"type":13,"tag":45,"props":3286,"children":3287},{"style":52},[3288],{"type":18,"value":1590},{"type":13,"tag":45,"props":3290,"children":3291},{"style":52},[3292],{"type":18,"value":2980},{"type":13,"tag":45,"props":3294,"children":3295},{"style":63},[3296],{"type":18,"value":2985},{"type":13,"tag":45,"props":3298,"children":3299},{"style":828},[3300],{"type":18,"value":2990},{"type":13,"tag":45,"props":3302,"children":3303},{"style":63},[3304],{"type":18,"value":2995},{"type":13,"tag":45,"props":3306,"children":3307},{"style":839},[3308],{"type":18,"value":1012},{"type":13,"tag":45,"props":3310,"children":3311},{"style":63},[3312],{"type":18,"value":3004},{"type":13,"tag":45,"props":3314,"children":3315},{"style":73},[3316],{"type":18,"value":3317},"// max viewport dimensions (x,y)\n",{"type":13,"tag":45,"props":3319,"children":3320},{"class":47,"line":1019},[3321,3326,3330,3334,3338,3343,3347,3351,3355],{"type":13,"tag":45,"props":3322,"children":3323},{"style":63},[3324],{"type":18,"value":3325}," viewport_bounds_range",{"type":13,"tag":45,"props":3327,"children":3328},{"style":52},[3329],{"type":18,"value":1590},{"type":13,"tag":45,"props":3331,"children":3332},{"style":52},[3333],{"type":18,"value":2980},{"type":13,"tag":45,"props":3335,"children":3336},{"style":63},[3337],{"type":18,"value":2985},{"type":13,"tag":45,"props":3339,"children":3340},{"style":828},[3341],{"type":18,"value":3342},"f32",{"type":13,"tag":45,"props":3344,"children":3345},{"style":63},[3346],{"type":18,"value":2995},{"type":13,"tag":45,"props":3348,"children":3349},{"style":839},[3350],{"type":18,"value":1012},{"type":13,"tag":45,"props":3352,"children":3353},{"style":63},[3354],{"type":18,"value":3004},{"type":13,"tag":45,"props":3356,"children":3357},{"style":73},[3358],{"type":18,"value":3359},"// viewport bounds range (min,max)\n",{"type":13,"tag":45,"props":3361,"children":3362},{"class":47,"line":1044},[3363,3368,3372,3376,3380],{"type":13,"tag":45,"props":3364,"children":3365},{"style":63},[3366],{"type":18,"value":3367}," viewport_sub_pixel_bits",{"type":13,"tag":45,"props":3369,"children":3370},{"style":52},[3371],{"type":18,"value":1590},{"type":13,"tag":45,"props":3373,"children":3374},{"style":828},[3375],{"type":18,"value":1595},{"type":13,"tag":45,"props":3377,"children":3378},{"style":63},[3379],{"type":18,"value":1600},{"type":13,"tag":45,"props":3381,"children":3382},{"style":73},[3383],{"type":18,"value":3384},"// number bits of subpixel precision for viewport\n",{"type":13,"tag":45,"props":3386,"children":3387},{"class":47,"line":1057},[3388,3393,3397,3402,3406],{"type":13,"tag":45,"props":3389,"children":3390},{"style":63},[3391],{"type":18,"value":3392}," min_memory_map_alignment",{"type":13,"tag":45,"props":3394,"children":3395},{"style":52},[3396],{"type":18,"value":1590},{"type":13,"tag":45,"props":3398,"children":3399},{"style":828},[3400],{"type":18,"value":3401}," usize",{"type":13,"tag":45,"props":3403,"children":3404},{"style":63},[3405],{"type":18,"value":1600},{"type":13,"tag":45,"props":3407,"children":3408},{"style":73},[3409],{"type":18,"value":3410},"// min required alignment of pointers returned by MapMemory (bytes)\n",{"type":13,"tag":45,"props":3412,"children":3413},{"class":47,"line":1071},[3414,3419,3423,3427,3431,3435,3439],{"type":13,"tag":45,"props":3415,"children":3416},{"style":63},[3417],{"type":18,"value":3418}," min_texel_buffer_offset_alignment",{"type":13,"tag":45,"props":3420,"children":3421},{"style":52},[3422],{"type":18,"value":1590},{"type":13,"tag":45,"props":3424,"children":3425},{"style":828},[3426],{"type":18,"value":1880},{"type":13,"tag":45,"props":3428,"children":3429},{"style":52},[3430],{"type":18,"value":1885},{"type":13,"tag":45,"props":3432,"children":3433},{"style":828},[3434],{"type":18,"value":1890},{"type":13,"tag":45,"props":3436,"children":3437},{"style":63},[3438],{"type":18,"value":1600},{"type":13,"tag":45,"props":3440,"children":3441},{"style":73},[3442],{"type":18,"value":3443},"// min required alignment for texel buffer offsets (bytes) \n",{"type":13,"tag":45,"props":3445,"children":3446},{"class":47,"line":1080},[3447,3452,3456,3460,3464,3468,3472],{"type":13,"tag":45,"props":3448,"children":3449},{"style":63},[3450],{"type":18,"value":3451}," min_uniform_buffer_offset_alignment",{"type":13,"tag":45,"props":3453,"children":3454},{"style":52},[3455],{"type":18,"value":1590},{"type":13,"tag":45,"props":3457,"children":3458},{"style":828},[3459],{"type":18,"value":1880},{"type":13,"tag":45,"props":3461,"children":3462},{"style":52},[3463],{"type":18,"value":1885},{"type":13,"tag":45,"props":3465,"children":3466},{"style":828},[3467],{"type":18,"value":1890},{"type":13,"tag":45,"props":3469,"children":3470},{"style":63},[3471],{"type":18,"value":1600},{"type":13,"tag":45,"props":3473,"children":3474},{"style":73},[3475],{"type":18,"value":3476},"// min required alignment for uniform buffer sizes and offsets (bytes)\n",{"type":13,"tag":45,"props":3478,"children":3479},{"class":47,"line":1089},[3480,3485,3489,3493,3497,3501,3505],{"type":13,"tag":45,"props":3481,"children":3482},{"style":63},[3483],{"type":18,"value":3484}," min_storage_buffer_offset_alignment",{"type":13,"tag":45,"props":3486,"children":3487},{"style":52},[3488],{"type":18,"value":1590},{"type":13,"tag":45,"props":3490,"children":3491},{"style":828},[3492],{"type":18,"value":1880},{"type":13,"tag":45,"props":3494,"children":3495},{"style":52},[3496],{"type":18,"value":1885},{"type":13,"tag":45,"props":3498,"children":3499},{"style":828},[3500],{"type":18,"value":1890},{"type":13,"tag":45,"props":3502,"children":3503},{"style":63},[3504],{"type":18,"value":1600},{"type":13,"tag":45,"props":3506,"children":3507},{"style":73},[3508],{"type":18,"value":3509},"// min required alignment for storage buffer offsets (bytes)\n",{"type":13,"tag":45,"props":3511,"children":3512},{"class":47,"line":1098},[3513,3518,3522,3527,3531],{"type":13,"tag":45,"props":3514,"children":3515},{"style":63},[3516],{"type":18,"value":3517}," min_texel_offset",{"type":13,"tag":45,"props":3519,"children":3520},{"style":52},[3521],{"type":18,"value":1590},{"type":13,"tag":45,"props":3523,"children":3524},{"style":828},[3525],{"type":18,"value":3526}," i32",{"type":13,"tag":45,"props":3528,"children":3529},{"style":63},[3530],{"type":18,"value":1600},{"type":13,"tag":45,"props":3532,"children":3533},{"style":73},[3534],{"type":18,"value":3535},"// min texel offset for OpTextureSampleOffset\n",{"type":13,"tag":45,"props":3537,"children":3538},{"class":47,"line":1112},[3539,3544,3548,3552,3556],{"type":13,"tag":45,"props":3540,"children":3541},{"style":63},[3542],{"type":18,"value":3543}," max_texel_offset",{"type":13,"tag":45,"props":3545,"children":3546},{"style":52},[3547],{"type":18,"value":1590},{"type":13,"tag":45,"props":3549,"children":3550},{"style":828},[3551],{"type":18,"value":1595},{"type":13,"tag":45,"props":3553,"children":3554},{"style":63},[3555],{"type":18,"value":1600},{"type":13,"tag":45,"props":3557,"children":3558},{"style":73},[3559],{"type":18,"value":3560},"// max texel offset for OpTextureSampleOffset\n",{"type":13,"tag":45,"props":3562,"children":3563},{"class":47,"line":1125},[3564,3569,3573,3577,3581],{"type":13,"tag":45,"props":3565,"children":3566},{"style":63},[3567],{"type":18,"value":3568}," min_texel_gather_offset",{"type":13,"tag":45,"props":3570,"children":3571},{"style":52},[3572],{"type":18,"value":1590},{"type":13,"tag":45,"props":3574,"children":3575},{"style":828},[3576],{"type":18,"value":3526},{"type":13,"tag":45,"props":3578,"children":3579},{"style":63},[3580],{"type":18,"value":1600},{"type":13,"tag":45,"props":3582,"children":3583},{"style":73},[3584],{"type":18,"value":3585},"// min texel offset for OpTextureGatherOffset\n",{"type":13,"tag":45,"props":3587,"children":3588},{"class":47,"line":1138},[3589,3594,3598,3602,3606],{"type":13,"tag":45,"props":3590,"children":3591},{"style":63},[3592],{"type":18,"value":3593}," max_texel_gather_offset",{"type":13,"tag":45,"props":3595,"children":3596},{"style":52},[3597],{"type":18,"value":1590},{"type":13,"tag":45,"props":3599,"children":3600},{"style":828},[3601],{"type":18,"value":1595},{"type":13,"tag":45,"props":3603,"children":3604},{"style":63},[3605],{"type":18,"value":1600},{"type":13,"tag":45,"props":3607,"children":3608},{"style":73},[3609],{"type":18,"value":3610},"// max texel offset for OpTextureGatherOffset\n",{"type":13,"tag":45,"props":3612,"children":3613},{"class":47,"line":1151},[3614,3619,3623,3627,3631],{"type":13,"tag":45,"props":3615,"children":3616},{"style":63},[3617],{"type":18,"value":3618}," min_interpolation_offset",{"type":13,"tag":45,"props":3620,"children":3621},{"style":52},[3622],{"type":18,"value":1590},{"type":13,"tag":45,"props":3624,"children":3625},{"style":828},[3626],{"type":18,"value":3217},{"type":13,"tag":45,"props":3628,"children":3629},{"style":63},[3630],{"type":18,"value":1600},{"type":13,"tag":45,"props":3632,"children":3633},{"style":73},[3634],{"type":18,"value":3635},"// furthest negative offset for interpolateAtOffset\n",{"type":13,"tag":45,"props":3637,"children":3638},{"class":47,"line":1164},[3639,3644,3648,3652,3656],{"type":13,"tag":45,"props":3640,"children":3641},{"style":63},[3642],{"type":18,"value":3643}," max_interpolation_offset",{"type":13,"tag":45,"props":3645,"children":3646},{"style":52},[3647],{"type":18,"value":1590},{"type":13,"tag":45,"props":3649,"children":3650},{"style":828},[3651],{"type":18,"value":3217},{"type":13,"tag":45,"props":3653,"children":3654},{"style":63},[3655],{"type":18,"value":1600},{"type":13,"tag":45,"props":3657,"children":3658},{"style":73},[3659],{"type":18,"value":3660},"// furthest positive offset for interpolateAtOffset\n",{"type":13,"tag":45,"props":3662,"children":3663},{"class":47,"line":1177},[3664,3669,3673,3677,3681],{"type":13,"tag":45,"props":3665,"children":3666},{"style":63},[3667],{"type":18,"value":3668}," sub_pixel_interpolation_offset_bits",{"type":13,"tag":45,"props":3670,"children":3671},{"style":52},[3672],{"type":18,"value":1590},{"type":13,"tag":45,"props":3674,"children":3675},{"style":828},[3676],{"type":18,"value":1595},{"type":13,"tag":45,"props":3678,"children":3679},{"style":63},[3680],{"type":18,"value":1600},{"type":13,"tag":45,"props":3682,"children":3683},{"style":73},[3684],{"type":18,"value":3685},"// number of subpixel bits for interpolateAtOffset\n",{"type":13,"tag":45,"props":3687,"children":3688},{"class":47,"line":1190},[3689,3694,3698,3702,3706],{"type":13,"tag":45,"props":3690,"children":3691},{"style":63},[3692],{"type":18,"value":3693}," max_framebuffer_width",{"type":13,"tag":45,"props":3695,"children":3696},{"style":52},[3697],{"type":18,"value":1590},{"type":13,"tag":45,"props":3699,"children":3700},{"style":828},[3701],{"type":18,"value":1595},{"type":13,"tag":45,"props":3703,"children":3704},{"style":63},[3705],{"type":18,"value":1600},{"type":13,"tag":45,"props":3707,"children":3708},{"style":73},[3709],{"type":18,"value":3710},"// max width for a framebuffer\n",{"type":13,"tag":45,"props":3712,"children":3713},{"class":47,"line":1203},[3714,3719,3723,3727,3731],{"type":13,"tag":45,"props":3715,"children":3716},{"style":63},[3717],{"type":18,"value":3718}," max_framebuffer_height",{"type":13,"tag":45,"props":3720,"children":3721},{"style":52},[3722],{"type":18,"value":1590},{"type":13,"tag":45,"props":3724,"children":3725},{"style":828},[3726],{"type":18,"value":1595},{"type":13,"tag":45,"props":3728,"children":3729},{"style":63},[3730],{"type":18,"value":1600},{"type":13,"tag":45,"props":3732,"children":3733},{"style":73},[3734],{"type":18,"value":3735},"// max height for a framebuffer\n",{"type":13,"tag":45,"props":3737,"children":3738},{"class":47,"line":1216},[3739,3744,3748,3752,3756],{"type":13,"tag":45,"props":3740,"children":3741},{"style":63},[3742],{"type":18,"value":3743}," max_framebuffer_layers",{"type":13,"tag":45,"props":3745,"children":3746},{"style":52},[3747],{"type":18,"value":1590},{"type":13,"tag":45,"props":3749,"children":3750},{"style":828},[3751],{"type":18,"value":1595},{"type":13,"tag":45,"props":3753,"children":3754},{"style":63},[3755],{"type":18,"value":1600},{"type":13,"tag":45,"props":3757,"children":3758},{"style":73},[3759],{"type":18,"value":3760},"// max layer count for a layered framebuffer\n",{"type":13,"tag":45,"props":3762,"children":3763},{"class":47,"line":1229},[3764,3769,3773,3777,3781,3786,3790],{"type":13,"tag":45,"props":3765,"children":3766},{"style":63},[3767],{"type":18,"value":3768}," framebuffer_color_sample_counts",{"type":13,"tag":45,"props":3770,"children":3771},{"style":52},[3772],{"type":18,"value":1590},{"type":13,"tag":45,"props":3774,"children":3775},{"style":828},[3776],{"type":18,"value":1880},{"type":13,"tag":45,"props":3778,"children":3779},{"style":52},[3780],{"type":18,"value":1885},{"type":13,"tag":45,"props":3782,"children":3783},{"style":828},[3784],{"type":18,"value":3785},"SampleCountFlags",{"type":13,"tag":45,"props":3787,"children":3788},{"style":63},[3789],{"type":18,"value":1600},{"type":13,"tag":45,"props":3791,"children":3792},{"style":73},[3793],{"type":18,"value":3794},"// supported color sample counts for a framebuffer\n",{"type":13,"tag":45,"props":3796,"children":3797},{"class":47,"line":1238},[3798,3803,3807,3811,3815,3819,3823],{"type":13,"tag":45,"props":3799,"children":3800},{"style":63},[3801],{"type":18,"value":3802}," framebuffer_depth_sample_counts",{"type":13,"tag":45,"props":3804,"children":3805},{"style":52},[3806],{"type":18,"value":1590},{"type":13,"tag":45,"props":3808,"children":3809},{"style":828},[3810],{"type":18,"value":1880},{"type":13,"tag":45,"props":3812,"children":3813},{"style":52},[3814],{"type":18,"value":1885},{"type":13,"tag":45,"props":3816,"children":3817},{"style":828},[3818],{"type":18,"value":3785},{"type":13,"tag":45,"props":3820,"children":3821},{"style":63},[3822],{"type":18,"value":1600},{"type":13,"tag":45,"props":3824,"children":3825},{"style":73},[3826],{"type":18,"value":3827},"// supported depth sample counts for a framebuffer\n",{"type":13,"tag":45,"props":3829,"children":3830},{"class":47,"line":1247},[3831,3836,3840,3844,3848,3852,3856],{"type":13,"tag":45,"props":3832,"children":3833},{"style":63},[3834],{"type":18,"value":3835}," framebuffer_stencil_sample_counts",{"type":13,"tag":45,"props":3837,"children":3838},{"style":52},[3839],{"type":18,"value":1590},{"type":13,"tag":45,"props":3841,"children":3842},{"style":828},[3843],{"type":18,"value":1880},{"type":13,"tag":45,"props":3845,"children":3846},{"style":52},[3847],{"type":18,"value":1885},{"type":13,"tag":45,"props":3849,"children":3850},{"style":828},[3851],{"type":18,"value":3785},{"type":13,"tag":45,"props":3853,"children":3854},{"style":63},[3855],{"type":18,"value":1600},{"type":13,"tag":45,"props":3857,"children":3858},{"style":73},[3859],{"type":18,"value":3860},"// supported stencil sample counts for a framebuffer\n",{"type":13,"tag":45,"props":3862,"children":3863},{"class":47,"line":1256},[3864,3869,3873,3877,3881,3885,3889],{"type":13,"tag":45,"props":3865,"children":3866},{"style":63},[3867],{"type":18,"value":3868}," framebuffer_no_attachments_sample_counts",{"type":13,"tag":45,"props":3870,"children":3871},{"style":52},[3872],{"type":18,"value":1590},{"type":13,"tag":45,"props":3874,"children":3875},{"style":828},[3876],{"type":18,"value":1880},{"type":13,"tag":45,"props":3878,"children":3879},{"style":52},[3880],{"type":18,"value":1885},{"type":13,"tag":45,"props":3882,"children":3883},{"style":828},[3884],{"type":18,"value":3785},{"type":13,"tag":45,"props":3886,"children":3887},{"style":63},[3888],{"type":18,"value":1600},{"type":13,"tag":45,"props":3890,"children":3891},{"style":73},[3892],{"type":18,"value":3893},"// supported sample counts for a subpass which uses no attachments\n",{"type":13,"tag":45,"props":3895,"children":3896},{"class":47,"line":1265},[3897,3902,3906,3910,3914],{"type":13,"tag":45,"props":3898,"children":3899},{"style":63},[3900],{"type":18,"value":3901}," max_color_attachments",{"type":13,"tag":45,"props":3903,"children":3904},{"style":52},[3905],{"type":18,"value":1590},{"type":13,"tag":45,"props":3907,"children":3908},{"style":828},[3909],{"type":18,"value":1595},{"type":13,"tag":45,"props":3911,"children":3912},{"style":63},[3913],{"type":18,"value":1600},{"type":13,"tag":45,"props":3915,"children":3916},{"style":73},[3917],{"type":18,"value":3918},"// max number of color attachments per subpass\n",{"type":13,"tag":45,"props":3920,"children":3921},{"class":47,"line":1278},[3922,3927,3931,3935,3939,3943,3947],{"type":13,"tag":45,"props":3923,"children":3924},{"style":63},[3925],{"type":18,"value":3926}," sampled_image_color_sample_counts",{"type":13,"tag":45,"props":3928,"children":3929},{"style":52},[3930],{"type":18,"value":1590},{"type":13,"tag":45,"props":3932,"children":3933},{"style":828},[3934],{"type":18,"value":1880},{"type":13,"tag":45,"props":3936,"children":3937},{"style":52},[3938],{"type":18,"value":1885},{"type":13,"tag":45,"props":3940,"children":3941},{"style":828},[3942],{"type":18,"value":3785},{"type":13,"tag":45,"props":3944,"children":3945},{"style":63},[3946],{"type":18,"value":1600},{"type":13,"tag":45,"props":3948,"children":3949},{"style":73},[3950],{"type":18,"value":3951},"// supported color sample counts for a non-integer sampled image\n",{"type":13,"tag":45,"props":3953,"children":3954},{"class":47,"line":1287},[3955,3960,3964,3968,3972,3976,3980],{"type":13,"tag":45,"props":3956,"children":3957},{"style":63},[3958],{"type":18,"value":3959}," sampled_image_integer_sample_counts",{"type":13,"tag":45,"props":3961,"children":3962},{"style":52},[3963],{"type":18,"value":1590},{"type":13,"tag":45,"props":3965,"children":3966},{"style":828},[3967],{"type":18,"value":1880},{"type":13,"tag":45,"props":3969,"children":3970},{"style":52},[3971],{"type":18,"value":1885},{"type":13,"tag":45,"props":3973,"children":3974},{"style":828},[3975],{"type":18,"value":3785},{"type":13,"tag":45,"props":3977,"children":3978},{"style":63},[3979],{"type":18,"value":1600},{"type":13,"tag":45,"props":3981,"children":3982},{"style":73},[3983],{"type":18,"value":3984},"// supported sample counts for an integer image\n",{"type":13,"tag":45,"props":3986,"children":3987},{"class":47,"line":1296},[3988,3993,3997,4001,4005,4009,4013],{"type":13,"tag":45,"props":3989,"children":3990},{"style":63},[3991],{"type":18,"value":3992}," sampled_image_depth_sample_counts",{"type":13,"tag":45,"props":3994,"children":3995},{"style":52},[3996],{"type":18,"value":1590},{"type":13,"tag":45,"props":3998,"children":3999},{"style":828},[4000],{"type":18,"value":1880},{"type":13,"tag":45,"props":4002,"children":4003},{"style":52},[4004],{"type":18,"value":1885},{"type":13,"tag":45,"props":4006,"children":4007},{"style":828},[4008],{"type":18,"value":3785},{"type":13,"tag":45,"props":4010,"children":4011},{"style":63},[4012],{"type":18,"value":1600},{"type":13,"tag":45,"props":4014,"children":4015},{"style":73},[4016],{"type":18,"value":4017},"// supported depth sample counts for a sampled image\n",{"type":13,"tag":45,"props":4019,"children":4020},{"class":47,"line":1305},[4021,4026,4030,4034,4038,4042,4046],{"type":13,"tag":45,"props":4022,"children":4023},{"style":63},[4024],{"type":18,"value":4025}," sampled_image_stencil_sample_counts",{"type":13,"tag":45,"props":4027,"children":4028},{"style":52},[4029],{"type":18,"value":1590},{"type":13,"tag":45,"props":4031,"children":4032},{"style":828},[4033],{"type":18,"value":1880},{"type":13,"tag":45,"props":4035,"children":4036},{"style":52},[4037],{"type":18,"value":1885},{"type":13,"tag":45,"props":4039,"children":4040},{"style":828},[4041],{"type":18,"value":3785},{"type":13,"tag":45,"props":4043,"children":4044},{"style":63},[4045],{"type":18,"value":1600},{"type":13,"tag":45,"props":4047,"children":4048},{"style":73},[4049],{"type":18,"value":4050},"// supported stencil sample counts for a sampled image\n",{"type":13,"tag":45,"props":4052,"children":4053},{"class":47,"line":1314},[4054,4059,4063,4067,4071,4075,4079],{"type":13,"tag":45,"props":4055,"children":4056},{"style":63},[4057],{"type":18,"value":4058}," storage_image_sample_counts",{"type":13,"tag":45,"props":4060,"children":4061},{"style":52},[4062],{"type":18,"value":1590},{"type":13,"tag":45,"props":4064,"children":4065},{"style":828},[4066],{"type":18,"value":1880},{"type":13,"tag":45,"props":4068,"children":4069},{"style":52},[4070],{"type":18,"value":1885},{"type":13,"tag":45,"props":4072,"children":4073},{"style":828},[4074],{"type":18,"value":3785},{"type":13,"tag":45,"props":4076,"children":4077},{"style":63},[4078],{"type":18,"value":1600},{"type":13,"tag":45,"props":4080,"children":4081},{"style":73},[4082],{"type":18,"value":4083},"// supported sample counts for a storage image\n",{"type":13,"tag":45,"props":4085,"children":4086},{"class":47,"line":1323},[4087,4092,4096,4100,4104],{"type":13,"tag":45,"props":4088,"children":4089},{"style":63},[4090],{"type":18,"value":4091}," max_sample_mask_words",{"type":13,"tag":45,"props":4093,"children":4094},{"style":52},[4095],{"type":18,"value":1590},{"type":13,"tag":45,"props":4097,"children":4098},{"style":828},[4099],{"type":18,"value":1595},{"type":13,"tag":45,"props":4101,"children":4102},{"style":63},[4103],{"type":18,"value":1600},{"type":13,"tag":45,"props":4105,"children":4106},{"style":73},[4107],{"type":18,"value":4108},"// max number of sample mask words\n",{"type":13,"tag":45,"props":4110,"children":4111},{"class":47,"line":1336},[4112,4117,4121,4125,4129,4134,4138],{"type":13,"tag":45,"props":4113,"children":4114},{"style":63},[4115],{"type":18,"value":4116}," timestamp_compute_and_graphics",{"type":13,"tag":45,"props":4118,"children":4119},{"style":52},[4120],{"type":18,"value":1590},{"type":13,"tag":45,"props":4122,"children":4123},{"style":828},[4124],{"type":18,"value":1880},{"type":13,"tag":45,"props":4126,"children":4127},{"style":52},[4128],{"type":18,"value":1885},{"type":13,"tag":45,"props":4130,"children":4131},{"style":828},[4132],{"type":18,"value":4133},"Bool32",{"type":13,"tag":45,"props":4135,"children":4136},{"style":63},[4137],{"type":18,"value":1600},{"type":13,"tag":45,"props":4139,"children":4140},{"style":73},[4141],{"type":18,"value":4142},"// timestamps on graphics and compute queues\n",{"type":13,"tag":45,"props":4144,"children":4145},{"class":47,"line":1345},[4146,4151,4155,4159,4163],{"type":13,"tag":45,"props":4147,"children":4148},{"style":63},[4149],{"type":18,"value":4150}," timestamp_period",{"type":13,"tag":45,"props":4152,"children":4153},{"style":52},[4154],{"type":18,"value":1590},{"type":13,"tag":45,"props":4156,"children":4157},{"style":828},[4158],{"type":18,"value":3217},{"type":13,"tag":45,"props":4160,"children":4161},{"style":63},[4162],{"type":18,"value":1600},{"type":13,"tag":45,"props":4164,"children":4165},{"style":73},[4166],{"type":18,"value":4167},"// number of nanoseconds it takes for timestamp query value to increment by 1\n",{"type":13,"tag":45,"props":4169,"children":4170},{"class":47,"line":1358},[4171,4176,4180,4184,4188],{"type":13,"tag":45,"props":4172,"children":4173},{"style":63},[4174],{"type":18,"value":4175}," max_clip_distances",{"type":13,"tag":45,"props":4177,"children":4178},{"style":52},[4179],{"type":18,"value":1590},{"type":13,"tag":45,"props":4181,"children":4182},{"style":828},[4183],{"type":18,"value":1595},{"type":13,"tag":45,"props":4185,"children":4186},{"style":63},[4187],{"type":18,"value":1600},{"type":13,"tag":45,"props":4189,"children":4190},{"style":73},[4191],{"type":18,"value":4192},"// max number of clip distances\n",{"type":13,"tag":45,"props":4194,"children":4195},{"class":47,"line":1371},[4196,4201,4205,4209,4213],{"type":13,"tag":45,"props":4197,"children":4198},{"style":63},[4199],{"type":18,"value":4200}," max_cull_distances",{"type":13,"tag":45,"props":4202,"children":4203},{"style":52},[4204],{"type":18,"value":1590},{"type":13,"tag":45,"props":4206,"children":4207},{"style":828},[4208],{"type":18,"value":1595},{"type":13,"tag":45,"props":4210,"children":4211},{"style":63},[4212],{"type":18,"value":1600},{"type":13,"tag":45,"props":4214,"children":4215},{"style":73},[4216],{"type":18,"value":4217},"// max number of cull distances\n",{"type":13,"tag":45,"props":4219,"children":4220},{"class":47,"line":1384},[4221,4226,4230,4234,4238],{"type":13,"tag":45,"props":4222,"children":4223},{"style":63},[4224],{"type":18,"value":4225}," max_combined_clip_and_cull_distances",{"type":13,"tag":45,"props":4227,"children":4228},{"style":52},[4229],{"type":18,"value":1590},{"type":13,"tag":45,"props":4231,"children":4232},{"style":828},[4233],{"type":18,"value":1595},{"type":13,"tag":45,"props":4235,"children":4236},{"style":63},[4237],{"type":18,"value":1600},{"type":13,"tag":45,"props":4239,"children":4240},{"style":73},[4241],{"type":18,"value":4242},"// max combined number of user clipping\n",{"type":13,"tag":45,"props":4244,"children":4245},{"class":47,"line":1397},[4246,4251,4255,4259,4263],{"type":13,"tag":45,"props":4247,"children":4248},{"style":63},[4249],{"type":18,"value":4250}," discrete_queue_priorities",{"type":13,"tag":45,"props":4252,"children":4253},{"style":52},[4254],{"type":18,"value":1590},{"type":13,"tag":45,"props":4256,"children":4257},{"style":828},[4258],{"type":18,"value":1595},{"type":13,"tag":45,"props":4260,"children":4261},{"style":63},[4262],{"type":18,"value":1600},{"type":13,"tag":45,"props":4264,"children":4265},{"style":73},[4266],{"type":18,"value":4267},"// distinct queue priorities available \n",{"type":13,"tag":45,"props":4269,"children":4270},{"class":47,"line":1410},[4271,4276,4280,4284,4288,4292,4296,4300,4304],{"type":13,"tag":45,"props":4272,"children":4273},{"style":63},[4274],{"type":18,"value":4275}," point_size_range",{"type":13,"tag":45,"props":4277,"children":4278},{"style":52},[4279],{"type":18,"value":1590},{"type":13,"tag":45,"props":4281,"children":4282},{"style":52},[4283],{"type":18,"value":2980},{"type":13,"tag":45,"props":4285,"children":4286},{"style":63},[4287],{"type":18,"value":2985},{"type":13,"tag":45,"props":4289,"children":4290},{"style":828},[4291],{"type":18,"value":3342},{"type":13,"tag":45,"props":4293,"children":4294},{"style":63},[4295],{"type":18,"value":2995},{"type":13,"tag":45,"props":4297,"children":4298},{"style":839},[4299],{"type":18,"value":1012},{"type":13,"tag":45,"props":4301,"children":4302},{"style":63},[4303],{"type":18,"value":3004},{"type":13,"tag":45,"props":4305,"children":4306},{"style":73},[4307],{"type":18,"value":4308},"// range (min,max) of supported point sizes\n",{"type":13,"tag":45,"props":4310,"children":4311},{"class":47,"line":1435},[4312,4317,4321,4325,4329,4333,4337,4341,4345],{"type":13,"tag":45,"props":4313,"children":4314},{"style":63},[4315],{"type":18,"value":4316}," line_width_range",{"type":13,"tag":45,"props":4318,"children":4319},{"style":52},[4320],{"type":18,"value":1590},{"type":13,"tag":45,"props":4322,"children":4323},{"style":52},[4324],{"type":18,"value":2980},{"type":13,"tag":45,"props":4326,"children":4327},{"style":63},[4328],{"type":18,"value":2985},{"type":13,"tag":45,"props":4330,"children":4331},{"style":828},[4332],{"type":18,"value":3342},{"type":13,"tag":45,"props":4334,"children":4335},{"style":63},[4336],{"type":18,"value":2995},{"type":13,"tag":45,"props":4338,"children":4339},{"style":839},[4340],{"type":18,"value":1012},{"type":13,"tag":45,"props":4342,"children":4343},{"style":63},[4344],{"type":18,"value":3004},{"type":13,"tag":45,"props":4346,"children":4347},{"style":73},[4348],{"type":18,"value":4349},"// range (min,max) of supported line widths\n",{"type":13,"tag":45,"props":4351,"children":4352},{"class":47,"line":1460},[4353,4358,4362,4366,4370],{"type":13,"tag":45,"props":4354,"children":4355},{"style":63},[4356],{"type":18,"value":4357}," point_size_granularity",{"type":13,"tag":45,"props":4359,"children":4360},{"style":52},[4361],{"type":18,"value":1590},{"type":13,"tag":45,"props":4363,"children":4364},{"style":828},[4365],{"type":18,"value":3217},{"type":13,"tag":45,"props":4367,"children":4368},{"style":63},[4369],{"type":18,"value":1600},{"type":13,"tag":45,"props":4371,"children":4372},{"style":73},[4373],{"type":18,"value":4374},"// granularity of supported point sizes\n",{"type":13,"tag":45,"props":4376,"children":4377},{"class":47,"line":1473},[4378,4383,4387,4391,4395],{"type":13,"tag":45,"props":4379,"children":4380},{"style":63},[4381],{"type":18,"value":4382}," line_width_granularity",{"type":13,"tag":45,"props":4384,"children":4385},{"style":52},[4386],{"type":18,"value":1590},{"type":13,"tag":45,"props":4388,"children":4389},{"style":828},[4390],{"type":18,"value":3217},{"type":13,"tag":45,"props":4392,"children":4393},{"style":63},[4394],{"type":18,"value":1600},{"type":13,"tag":45,"props":4396,"children":4397},{"style":73},[4398],{"type":18,"value":4399},"// granularity of supported line widths\n",{"type":13,"tag":45,"props":4401,"children":4402},{"class":47,"line":1486},[4403,4408,4412,4416,4420,4424,4428],{"type":13,"tag":45,"props":4404,"children":4405},{"style":63},[4406],{"type":18,"value":4407}," strict_lines",{"type":13,"tag":45,"props":4409,"children":4410},{"style":52},[4411],{"type":18,"value":1590},{"type":13,"tag":45,"props":4413,"children":4414},{"style":828},[4415],{"type":18,"value":1880},{"type":13,"tag":45,"props":4417,"children":4418},{"style":52},[4419],{"type":18,"value":1885},{"type":13,"tag":45,"props":4421,"children":4422},{"style":828},[4423],{"type":18,"value":4133},{"type":13,"tag":45,"props":4425,"children":4426},{"style":63},[4427],{"type":18,"value":1600},{"type":13,"tag":45,"props":4429,"children":4430},{"style":73},[4431],{"type":18,"value":4432},"// line rasterization follows preferred rules\n",{"type":13,"tag":45,"props":4434,"children":4435},{"class":47,"line":1495},[4436,4441,4445,4449,4453,4457,4461],{"type":13,"tag":45,"props":4437,"children":4438},{"style":63},[4439],{"type":18,"value":4440}," standard_sample_locations",{"type":13,"tag":45,"props":4442,"children":4443},{"style":52},[4444],{"type":18,"value":1590},{"type":13,"tag":45,"props":4446,"children":4447},{"style":828},[4448],{"type":18,"value":1880},{"type":13,"tag":45,"props":4450,"children":4451},{"style":52},[4452],{"type":18,"value":1885},{"type":13,"tag":45,"props":4454,"children":4455},{"style":828},[4456],{"type":18,"value":4133},{"type":13,"tag":45,"props":4458,"children":4459},{"style":63},[4460],{"type":18,"value":1600},{"type":13,"tag":45,"props":4462,"children":4463},{"style":73},[4464],{"type":18,"value":4465},"// supports standard sample locations for all supported sample counts\n",{"type":13,"tag":45,"props":4467,"children":4468},{"class":47,"line":1504},[4469,4474,4478,4482,4486,4490,4494],{"type":13,"tag":45,"props":4470,"children":4471},{"style":63},[4472],{"type":18,"value":4473}," optimal_buffer_copy_offset_alignment",{"type":13,"tag":45,"props":4475,"children":4476},{"style":52},[4477],{"type":18,"value":1590},{"type":13,"tag":45,"props":4479,"children":4480},{"style":828},[4481],{"type":18,"value":1880},{"type":13,"tag":45,"props":4483,"children":4484},{"style":52},[4485],{"type":18,"value":1885},{"type":13,"tag":45,"props":4487,"children":4488},{"style":828},[4489],{"type":18,"value":1890},{"type":13,"tag":45,"props":4491,"children":4492},{"style":63},[4493],{"type":18,"value":1600},{"type":13,"tag":45,"props":4495,"children":4496},{"style":73},[4497],{"type":18,"value":4498},"// optimal offset of buffer copies\n",{"type":13,"tag":45,"props":4500,"children":4501},{"class":47,"line":1513},[4502,4507,4511,4515,4519,4523,4527],{"type":13,"tag":45,"props":4503,"children":4504},{"style":63},[4505],{"type":18,"value":4506}," optimal_buffer_copy_row_pitch_alignment",{"type":13,"tag":45,"props":4508,"children":4509},{"style":52},[4510],{"type":18,"value":1590},{"type":13,"tag":45,"props":4512,"children":4513},{"style":828},[4514],{"type":18,"value":1880},{"type":13,"tag":45,"props":4516,"children":4517},{"style":52},[4518],{"type":18,"value":1885},{"type":13,"tag":45,"props":4520,"children":4521},{"style":828},[4522],{"type":18,"value":1890},{"type":13,"tag":45,"props":4524,"children":4525},{"style":63},[4526],{"type":18,"value":1600},{"type":13,"tag":45,"props":4528,"children":4529},{"style":73},[4530],{"type":18,"value":4531},"// optimal pitch of buffer copies\n",{"type":13,"tag":45,"props":4533,"children":4534},{"class":47,"line":1522},[4535,4540,4544,4548,4552,4556,4560],{"type":13,"tag":45,"props":4536,"children":4537},{"style":63},[4538],{"type":18,"value":4539}," non_coherent_atom_size",{"type":13,"tag":45,"props":4541,"children":4542},{"style":52},[4543],{"type":18,"value":1590},{"type":13,"tag":45,"props":4545,"children":4546},{"style":828},[4547],{"type":18,"value":1880},{"type":13,"tag":45,"props":4549,"children":4550},{"style":52},[4551],{"type":18,"value":1885},{"type":13,"tag":45,"props":4553,"children":4554},{"style":828},[4555],{"type":18,"value":1890},{"type":13,"tag":45,"props":4557,"children":4558},{"style":63},[4559],{"type":18,"value":1600},{"type":13,"tag":45,"props":4561,"children":4562},{"style":73},[4563],{"type":18,"value":4564},"// minimum size and alignment for non-coherent host-mapped device memory access\n",{"type":13,"tag":45,"props":4566,"children":4567},{"class":47,"line":1531},[4568],{"type":13,"tag":45,"props":4569,"children":4570},{"style":63},[4571],{"type":18,"value":4572},"}\n",{"type":13,"tag":14,"props":4574,"children":4575},{},[4576,4577,4582,4584,4590,4592,4599,4601,4607],{"type":18,"value":19},{"type":13,"tag":21,"props":4578,"children":4580},{"className":4579},[],[4581],{"type":18,"value":4},{"type":18,"value":4583}," are properties of the physical device.\nThese are available in the ",{"type":13,"tag":21,"props":4585,"children":4587},{"className":4586},[],[4588],{"type":18,"value":4589},"limits",{"type":18,"value":4591}," member of the\n",{"type":13,"tag":4593,"props":4594,"children":4596},"a",{"href":4595},"/man/VkPhysicalDeviceProperties",[4597],{"type":18,"value":4598},"VkPhysicalDeviceProperties",{"type":18,"value":4600}," structure which is returned from\n",{"type":13,"tag":4593,"props":4602,"children":4604},{"href":4603},"/man/vkGetPhysicalDeviceProperties",[4605],{"type":18,"value":4606},"vkGetPhysicalDeviceProperties",{"type":18,"value":4608},".",{"type":13,"tag":4610,"props":4611,"children":4612},"ul",{},[4613,4676,4749,4811,4877,4901,4949,5008,5057,5111,5140,5168,5205,5318,5366,5439,5503,5568,5649,5714,5767,5855,5905,5953,5990,6037,6073,6131,6178,6214,6272,6337,6380,6423,6451,6473,6527,6547,6567,6586,6606,6626,6646,6680,6701,6722,6743,6763,6783,6803,6840,6876,6908,6941,6987,7051,7087,7103,7119,7151,7178,7244,7279,7315,7348,7444,7460,7510,7647,7712,7774,7813,7847,7892,7932,7963,7991,8031,8065,8096,8128,8165,8195,8225,8262,8308,8360,8408,8456,8504,8557,8581,8656,8682,8715,8746,8784,8837,8877,8935,8958,8981,9024,9067,9136,9191],{"type":13,"tag":4614,"props":4615,"children":4616},"li",{},[4617,4622,4624,4630,4632,4638,4640,4646,4648,4654,4656,4661,4663,4667,4669,4675],{"type":13,"tag":4618,"props":4619,"children":4621},"anchor",{"id":4620},"limits-maxImageDimension1D",[],{"type":18,"value":4623}," ",{"type":13,"tag":21,"props":4625,"children":4627},{"className":4626},[],[4628],{"type":18,"value":4629},"maxImageDimension1D",{"type":18,"value":4631}," is the largest\ndimension (",{"type":13,"tag":21,"props":4633,"children":4635},{"className":4634},[],[4636],{"type":18,"value":4637},"width",{"type":18,"value":4639},") that is guaranteed to be supported for all\nimages created with an ",{"type":13,"tag":21,"props":4641,"children":4643},{"className":4642},[],[4644],{"type":18,"value":4645},"imageType",{"type":18,"value":4647}," of ",{"type":13,"tag":21,"props":4649,"children":4651},{"className":4650},[],[4652],{"type":18,"value":4653},"VK_IMAGE_TYPE_1D",{"type":18,"value":4655},".\nSome combinations of image parameters (format, usage, etc.) ",{"type":13,"tag":4657,"props":4658,"children":4660},"normative",{"type":4659},"may",[],{"type":18,"value":4662}," allow\nsupport for larger dimensions, which ",{"type":13,"tag":4657,"props":4664,"children":4666},{"type":4665},"can",[],{"type":18,"value":4668}," be queried using\n",{"type":13,"tag":4593,"props":4670,"children":4672},{"href":4671},"/man/vkGetPhysicalDeviceImageFormatProperties",[4673],{"type":18,"value":4674},"vkGetPhysicalDeviceImageFormatProperties",{"type":18,"value":4608},{"type":13,"tag":4614,"props":4677,"children":4678},{},[4679,4683,4684,4690,4691,4696,4698,4704,4706,4711,4713,4719,4721,4727,4729,4735,4736,4739,4740,4743,4744,4748],{"type":13,"tag":4618,"props":4680,"children":4682},{"id":4681},"limits-maxImageDimension2D",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":4685,"children":4687},{"className":4686},[],[4688],{"type":18,"value":4689},"maxImageDimension2D",{"type":18,"value":4631},{"type":13,"tag":21,"props":4692,"children":4694},{"className":4693},[],[4695],{"type":18,"value":4637},{"type":18,"value":4697}," or ",{"type":13,"tag":21,"props":4699,"children":4701},{"className":4700},[],[4702],{"type":18,"value":4703},"height",{"type":18,"value":4705},") that is guaranteed to be\nsupported for all images created with an ",{"type":13,"tag":21,"props":4707,"children":4709},{"className":4708},[],[4710],{"type":18,"value":4645},{"type":18,"value":4712}," of\n",{"type":13,"tag":21,"props":4714,"children":4716},{"className":4715},[],[4717],{"type":18,"value":4718},"VK_IMAGE_TYPE_2D",{"type":18,"value":4720}," and without\n",{"type":13,"tag":21,"props":4722,"children":4724},{"className":4723},[],[4725],{"type":18,"value":4726},"VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT",{"type":18,"value":4728}," set in ",{"type":13,"tag":21,"props":4730,"children":4732},{"className":4731},[],[4733],{"type":18,"value":4734},"flags",{"type":18,"value":4655},{"type":13,"tag":4657,"props":4737,"children":4738},{"type":4659},[],{"type":18,"value":4662},{"type":13,"tag":4657,"props":4741,"children":4742},{"type":4665},[],{"type":18,"value":4668},{"type":13,"tag":4593,"props":4745,"children":4746},{"href":4671},[4747],{"type":18,"value":4674},{"type":18,"value":4608},{"type":13,"tag":4614,"props":4750,"children":4751},{},[4752,4756,4757,4763,4764,4769,4770,4775,4777,4783,4785,4790,4791,4797,4798,4801,4802,4805,4806,4810],{"type":13,"tag":4618,"props":4753,"children":4755},{"id":4754},"limits-maxImageDimension3D",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":4758,"children":4760},{"className":4759},[],[4761],{"type":18,"value":4762},"maxImageDimension3D",{"type":18,"value":4631},{"type":13,"tag":21,"props":4765,"children":4767},{"className":4766},[],[4768],{"type":18,"value":4637},{"type":18,"value":1600},{"type":13,"tag":21,"props":4771,"children":4773},{"className":4772},[],[4774],{"type":18,"value":4703},{"type":18,"value":4776},", or ",{"type":13,"tag":21,"props":4778,"children":4780},{"className":4779},[],[4781],{"type":18,"value":4782},"depth",{"type":18,"value":4784},") that is guaranteed\nto be supported for all images created with an ",{"type":13,"tag":21,"props":4786,"children":4788},{"className":4787},[],[4789],{"type":18,"value":4645},{"type":18,"value":4712},{"type":13,"tag":21,"props":4792,"children":4794},{"className":4793},[],[4795],{"type":18,"value":4796},"VK_IMAGE_TYPE_3D",{"type":18,"value":4655},{"type":13,"tag":4657,"props":4799,"children":4800},{"type":4659},[],{"type":18,"value":4662},{"type":13,"tag":4657,"props":4803,"children":4804},{"type":4665},[],{"type":18,"value":4668},{"type":13,"tag":4593,"props":4807,"children":4808},{"href":4671},[4809],{"type":18,"value":4674},{"type":18,"value":4608},{"type":13,"tag":4614,"props":4812,"children":4813},{},[4814,4818,4819,4825,4827,4832,4833,4838,4839,4844,4845,4850,4852,4857,4858,4863,4864,4867,4868,4871,4872,4876],{"type":13,"tag":4618,"props":4815,"children":4817},{"id":4816},"limits-maxImageDimensionCube",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":4820,"children":4822},{"className":4821},[],[4823],{"type":18,"value":4824},"maxImageDimensionCube",{"type":18,"value":4826}," is the\nlargest dimension (",{"type":13,"tag":21,"props":4828,"children":4830},{"className":4829},[],[4831],{"type":18,"value":4637},{"type":18,"value":4697},{"type":13,"tag":21,"props":4834,"children":4836},{"className":4835},[],[4837],{"type":18,"value":4703},{"type":18,"value":4705},{"type":13,"tag":21,"props":4840,"children":4842},{"className":4841},[],[4843],{"type":18,"value":4645},{"type":18,"value":4712},{"type":13,"tag":21,"props":4846,"children":4848},{"className":4847},[],[4849],{"type":18,"value":4718},{"type":18,"value":4851}," and with\n",{"type":13,"tag":21,"props":4853,"children":4855},{"className":4854},[],[4856],{"type":18,"value":4726},{"type":18,"value":4728},{"type":13,"tag":21,"props":4859,"children":4861},{"className":4860},[],[4862],{"type":18,"value":4734},{"type":18,"value":4655},{"type":13,"tag":4657,"props":4865,"children":4866},{"type":4659},[],{"type":18,"value":4662},{"type":13,"tag":4657,"props":4869,"children":4870},{"type":4665},[],{"type":18,"value":4668},{"type":13,"tag":4593,"props":4873,"children":4874},{"href":4671},[4875],{"type":18,"value":4674},{"type":18,"value":4608},{"type":13,"tag":4614,"props":4878,"children":4879},{},[4880,4884,4885,4891,4893,4899],{"type":13,"tag":4618,"props":4881,"children":4883},{"id":4882},"limits-maxImageArrayLayers",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":4886,"children":4888},{"className":4887},[],[4889],{"type":18,"value":4890},"maxImageArrayLayers",{"type":18,"value":4892}," is the maximum\nnumber of layers (",{"type":13,"tag":21,"props":4894,"children":4896},{"className":4895},[],[4897],{"type":18,"value":4898},"arrayLayers",{"type":18,"value":4900},") for an image.",{"type":13,"tag":4614,"props":4902,"children":4903},{},[4904,4908,4909,4915,4917,4923,4925,4931,4933,4939,4941,4947],{"type":13,"tag":4618,"props":4905,"children":4907},{"id":4906},"limits-maxTexelBufferElements",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":4910,"children":4912},{"className":4911},[],[4913],{"type":18,"value":4914},"maxTexelBufferElements",{"type":18,"value":4916}," is the\nmaximum number of addressable texels for a buffer view created on a\nbuffer which was created with the\n",{"type":13,"tag":21,"props":4918,"children":4920},{"className":4919},[],[4921],{"type":18,"value":4922},"VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",{"type":18,"value":4924}," or\n",{"type":13,"tag":21,"props":4926,"children":4928},{"className":4927},[],[4929],{"type":18,"value":4930},"VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",{"type":18,"value":4932}," set in the ",{"type":13,"tag":21,"props":4934,"children":4936},{"className":4935},[],[4937],{"type":18,"value":4938},"usage",{"type":18,"value":4940},"\nmember of the ",{"type":13,"tag":4593,"props":4942,"children":4944},{"href":4943},"/man/VkBufferCreateInfo",[4945],{"type":18,"value":4946},"VkBufferCreateInfo",{"type":18,"value":4948}," structure.",{"type":13,"tag":4614,"props":4950,"children":4951},{},[4952,4956,4957,4963,4965,4968,4970,4976,4978,4984,4986,4992,4994,5000,5001,5007],{"type":13,"tag":4618,"props":4953,"children":4955},{"id":4954},"limits-maxUniformBufferRange",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":4958,"children":4960},{"className":4959},[],[4961],{"type":18,"value":4962},"maxUniformBufferRange",{"type":18,"value":4964}," is the\nmaximum value that ",{"type":13,"tag":4657,"props":4966,"children":4967},{"type":4665},[],{"type":18,"value":4969}," be specified in the ",{"type":13,"tag":21,"props":4971,"children":4973},{"className":4972},[],[4974],{"type":18,"value":4975},"range",{"type":18,"value":4977}," member of a\n",{"type":13,"tag":4593,"props":4979,"children":4981},{"href":4980},"/man/VkDescriptorBufferInfo",[4982],{"type":18,"value":4983},"VkDescriptorBufferInfo",{"type":18,"value":4985}," structure passed to\n",{"type":13,"tag":4593,"props":4987,"children":4989},{"href":4988},"/man/vkUpdateDescriptorSets",[4990],{"type":18,"value":4991},"vkUpdateDescriptorSets",{"type":18,"value":4993}," for descriptors of type\n",{"type":13,"tag":21,"props":4995,"children":4997},{"className":4996},[],[4998],{"type":18,"value":4999},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",{"type":18,"value":4924},{"type":13,"tag":21,"props":5002,"children":5004},{"className":5003},[],[5005],{"type":18,"value":5006},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5009,"children":5010},{},[5011,5015,5016,5022,5023,5026,5027,5032,5033,5037,5038,5042,5043,5049,5050,5056],{"type":13,"tag":4618,"props":5012,"children":5014},{"id":5013},"limits-maxStorageBufferRange",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5017,"children":5019},{"className":5018},[],[5020],{"type":18,"value":5021},"maxStorageBufferRange",{"type":18,"value":4964},{"type":13,"tag":4657,"props":5024,"children":5025},{"type":4665},[],{"type":18,"value":4969},{"type":13,"tag":21,"props":5028,"children":5030},{"className":5029},[],[5031],{"type":18,"value":4975},{"type":18,"value":4977},{"type":13,"tag":4593,"props":5034,"children":5035},{"href":4980},[5036],{"type":18,"value":4983},{"type":18,"value":4985},{"type":13,"tag":4593,"props":5039,"children":5040},{"href":4988},[5041],{"type":18,"value":4991},{"type":18,"value":4993},{"type":13,"tag":21,"props":5044,"children":5046},{"className":5045},[],[5047],{"type":18,"value":5048},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",{"type":18,"value":4924},{"type":13,"tag":21,"props":5051,"children":5053},{"className":5052},[],[5054],{"type":18,"value":5055},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5058,"children":5059},{},[5060,5064,5065,5071,5073,5079,5081,5087,5089,5095,5097,5103,5105,5109],{"type":13,"tag":4618,"props":5061,"children":5063},{"id":5062},"limits-maxPushConstantsSize",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5066,"children":5068},{"className":5067},[],[5069],{"type":18,"value":5070},"maxPushConstantsSize",{"type":18,"value":5072}," is the\nmaximum size, in bytes, of the pool of push constant memory.\nFor each of the push constant ranges indicated by the\n",{"type":13,"tag":21,"props":5074,"children":5076},{"className":5075},[],[5077],{"type":18,"value":5078},"pPushConstantRanges",{"type":18,"value":5080}," member of the ",{"type":13,"tag":4593,"props":5082,"children":5084},{"href":5083},"/man/VkPipelineLayoutCreateInfo",[5085],{"type":18,"value":5086},"VkPipelineLayoutCreateInfo",{"type":18,"value":5088},"\nstructure, (",{"type":13,"tag":21,"props":5090,"children":5092},{"className":5091},[],[5093],{"type":18,"value":5094},"offset",{"type":18,"value":5096}," + ",{"type":13,"tag":21,"props":5098,"children":5100},{"className":5099},[],[5101],{"type":18,"value":5102},"size",{"type":18,"value":5104},") ",{"type":13,"tag":4657,"props":5106,"children":5108},{"type":5107},"must",[],{"type":18,"value":5110}," be less than or\nequal to this limit.",{"type":13,"tag":4614,"props":5112,"children":5113},{},[5114,5118,5119,5125,5127,5133,5135,5138],{"type":13,"tag":4618,"props":5115,"children":5117},{"id":5116},"limits-maxMemoryAllocationCount",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5120,"children":5122},{"className":5121},[],[5123],{"type":18,"value":5124},"maxMemoryAllocationCount",{"type":18,"value":5126}," is\nthe maximum number of device memory allocations, as created by\n",{"type":13,"tag":4593,"props":5128,"children":5130},{"href":5129},"/man/vkAllocateMemory",[5131],{"type":18,"value":5132},"vkAllocateMemory",{"type":18,"value":5134},", which ",{"type":13,"tag":4657,"props":5136,"children":5137},{"type":4665},[],{"type":18,"value":5139}," simultaneously exist.",{"type":13,"tag":4614,"props":5141,"children":5142},{},[5143,5147,5148,5154,5156,5162,5163,5166],{"type":13,"tag":4618,"props":5144,"children":5146},{"id":5145},"limits-maxSamplerAllocationCount",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5149,"children":5151},{"className":5150},[],[5152],{"type":18,"value":5153},"maxSamplerAllocationCount",{"type":18,"value":5155}," is\nthe maximum number of sampler objects, as created by\n",{"type":13,"tag":4593,"props":5157,"children":5159},{"href":5158},"/man/vkCreateSampler",[5160],{"type":18,"value":5161},"vkCreateSampler",{"type":18,"value":5134},{"type":13,"tag":4657,"props":5164,"children":5165},{"type":4665},[],{"type":18,"value":5167}," simultaneously exist on a device.",{"type":13,"tag":4614,"props":5169,"children":5170},{},[5171,5175,5176,5182,5184,5187,5189,5195,5197,5203],{"type":13,"tag":4618,"props":5172,"children":5174},{"id":5173},"limits-bufferImageGranularity",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5177,"children":5179},{"className":5178},[],[5180],{"type":18,"value":5181},"bufferImageGranularity",{"type":18,"value":5183}," is the\ngranularity, in bytes, at which buffer or linear image resources, and\noptimal image resources ",{"type":13,"tag":4657,"props":5185,"children":5186},{"type":4665},[],{"type":18,"value":5188}," be bound to adjacent offsets in the same\n",{"type":13,"tag":21,"props":5190,"children":5192},{"className":5191},[],[5193],{"type":18,"value":5194},"VkDeviceMemory",{"type":18,"value":5196}," object without aliasing.\nSee ",{"type":13,"tag":4593,"props":5198,"children":5200},{"href":5199},"/chapters/resources#resources-bufferimagegranularity",[5201],{"type":18,"value":5202},"Buffer-Image Granularity",{"type":18,"value":5204}," for\nmore details.",{"type":13,"tag":4614,"props":5206,"children":5207},{},[5208,5212,5213,5219,5221,5231,5233,5243,5245,5250,5252,5258,5260,5265,5267,5273,5275,5285,5286,5292,5294,5299,5301,5305,5307,5317],{"type":13,"tag":4618,"props":5209,"children":5211},{"id":5210},"limits-sparseAddressSpaceSize",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5214,"children":5216},{"className":5215},[],[5217],{"type":18,"value":5218},"sparseAddressSpaceSize",{"type":18,"value":5220}," is the\ntotal amount of address space available, in bytes, for sparse memory\nresources.\nThis is an upper bound on the sum of the sizes of all sparse resources,\nregardless of whether any memory is bound to them.\nIf the ",{"type":13,"tag":4593,"props":5222,"children":5224},{"href":5223},"/man/VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV#features-extendedSparseAddressSpace",[5225],{"type":13,"tag":21,"props":5226,"children":5228},{"className":5227},[],[5229],{"type":18,"value":5230},"extendedSparseAddressSpace",{"type":18,"value":5232}," feature is enabled, then the\ndifference between ",{"type":13,"tag":4593,"props":5234,"children":5236},{"href":5235},"/man/VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV#limits-extendedSparseAddressSpaceSize",[5237],{"type":13,"tag":21,"props":5238,"children":5240},{"className":5239},[],[5241],{"type":18,"value":5242},"extendedSparseAddressSpaceSize",{"type":18,"value":5244}," and ",{"type":13,"tag":21,"props":5246,"children":5248},{"className":5247},[],[5249],{"type":18,"value":5218},{"type":18,"value":5251},"\ncan also be used, by ",{"type":13,"tag":21,"props":5253,"children":5255},{"className":5254},[],[5256],{"type":18,"value":5257},"VkImage",{"type":18,"value":5259}," created with the ",{"type":13,"tag":21,"props":5261,"children":5263},{"className":5262},[],[5264],{"type":18,"value":4938},{"type":18,"value":5266}," member\nof ",{"type":13,"tag":4593,"props":5268,"children":5270},{"href":5269},"/man/VkImageCreateInfo",[5271],{"type":18,"value":5272},"VkImageCreateInfo",{"type":18,"value":5274}," only containing bits in\n",{"type":13,"tag":4593,"props":5276,"children":5278},{"href":5277},"/man/VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV#limits-extendedSparseImageUsageFlags",[5279],{"type":13,"tag":21,"props":5280,"children":5282},{"className":5281},[],[5283],{"type":18,"value":5284},"extendedSparseImageUsageFlags",{"type":18,"value":5244},{"type":13,"tag":21,"props":5287,"children":5289},{"className":5288},[],[5290],{"type":18,"value":5291},"VkBuffer",{"type":18,"value":5293}," created with\nthe ",{"type":13,"tag":21,"props":5295,"children":5297},{"className":5296},[],[5298],{"type":18,"value":4938},{"type":18,"value":5300}," member of ",{"type":13,"tag":4593,"props":5302,"children":5303},{"href":4943},[5304],{"type":18,"value":4946},{"type":18,"value":5306}," only containing bits\nin ",{"type":13,"tag":4593,"props":5308,"children":5310},{"href":5309},"/man/VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV#limits-extendedSparseBufferUsageFlags",[5311],{"type":13,"tag":21,"props":5312,"children":5314},{"className":5313},[],[5315],{"type":18,"value":5316},"extendedSparseBufferUsageFlags",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5319,"children":5320},{},[5321,5325,5326,5332,5334,5337,5339,5345,5347,5350,5352,5357,5359,5365],{"type":13,"tag":4618,"props":5322,"children":5324},{"id":5323},"limits-maxBoundDescriptorSets",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5327,"children":5329},{"className":5328},[],[5330],{"type":18,"value":5331},"maxBoundDescriptorSets",{"type":18,"value":5333}," is the\nmaximum number of descriptor sets that ",{"type":13,"tag":4657,"props":5335,"children":5336},{"type":4665},[],{"type":18,"value":5338}," be simultaneously used by a\npipeline.\nAll ",{"type":13,"tag":21,"props":5340,"children":5342},{"className":5341},[],[5343],{"type":18,"value":5344},"DescriptorSet",{"type":18,"value":5346}," decorations in shader modules ",{"type":13,"tag":4657,"props":5348,"children":5349},{"type":5107},[],{"type":18,"value":5351}," have a value\nless than ",{"type":13,"tag":21,"props":5353,"children":5355},{"className":5354},[],[5356],{"type":18,"value":5331},{"type":18,"value":5358},".\nSee ",{"type":13,"tag":4593,"props":5360,"children":5362},{"href":5361},"/chapters/descriptorsets#descriptorsets-sets",[5363],{"type":18,"value":5364},"Descriptor Sets",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5367,"children":5368},{},[5369,5373,5379,5381,5384,5386,5392,5393,5399,5401,5407,5409,5415,5416,5422,5424,5430,5432,5438],{"type":13,"tag":4618,"props":5370,"children":5372},{"id":5371},"limits-maxPerStageDescriptorSamplers",[],{"type":13,"tag":21,"props":5374,"children":5376},{"className":5375},[],[5377],{"type":18,"value":5378},"maxPerStageDescriptorSamplers",{"type":18,"value":5380}," is the maximum number of samplers\nthat ",{"type":13,"tag":4657,"props":5382,"children":5383},{"type":4665},[],{"type":18,"value":5385}," be accessible to a single shader stage in a pipeline layout.\nDescriptors with a type of ",{"type":13,"tag":21,"props":5387,"children":5389},{"className":5388},[],[5390],{"type":18,"value":5391},"VK_DESCRIPTOR_TYPE_SAMPLER",{"type":18,"value":4924},{"type":13,"tag":21,"props":5394,"children":5396},{"className":5395},[],[5397],{"type":18,"value":5398},"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",{"type":18,"value":5400}," count against this\nlimit.\nOnly descriptors in descriptor set layouts created without the\n",{"type":13,"tag":21,"props":5402,"children":5404},{"className":5403},[],[5405],{"type":18,"value":5406},"VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT",{"type":18,"value":5408}," bit set\ncount against this limit.\nA descriptor is accessible to a shader stage when the ",{"type":13,"tag":21,"props":5410,"children":5412},{"className":5411},[],[5413],{"type":18,"value":5414},"stageFlags",{"type":18,"value":4940},{"type":13,"tag":21,"props":5417,"children":5419},{"className":5418},[],[5420],{"type":18,"value":5421},"VkDescriptorSetLayoutBinding",{"type":18,"value":5423}," structure has the bit\nfor that shader stage set.\nSee ",{"type":13,"tag":4593,"props":5425,"children":5427},{"href":5426},"/chapters/descriptorsets#descriptorsets-sampler",[5428],{"type":18,"value":5429},"Sampler",{"type":18,"value":5431}," and\n",{"type":13,"tag":4593,"props":5433,"children":5435},{"href":5434},"/chapters/descriptorsets#descriptorsets-combinedimagesampler",[5436],{"type":18,"value":5437},"Combined Image Sampler",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5440,"children":5441},{},[5442,5446,5452,5454,5457,5459,5464,5465,5470,5471,5476,5477,5482,5483,5488,5489,5495,5496,5502],{"type":13,"tag":4618,"props":5443,"children":5445},{"id":5444},"limits-maxPerStageDescriptorUniformBuffers",[],{"type":13,"tag":21,"props":5447,"children":5449},{"className":5448},[],[5450],{"type":18,"value":5451},"maxPerStageDescriptorUniformBuffers",{"type":18,"value":5453}," is the maximum number of\nuniform buffers that ",{"type":13,"tag":4657,"props":5455,"children":5456},{"type":4665},[],{"type":18,"value":5458}," be accessible to a single shader stage in a\npipeline layout.\nDescriptors with a type of ",{"type":13,"tag":21,"props":5460,"children":5462},{"className":5461},[],[5463],{"type":18,"value":4999},{"type":18,"value":4924},{"type":13,"tag":21,"props":5466,"children":5468},{"className":5467},[],[5469],{"type":18,"value":5006},{"type":18,"value":5400},{"type":13,"tag":21,"props":5472,"children":5474},{"className":5473},[],[5475],{"type":18,"value":5406},{"type":18,"value":5408},{"type":13,"tag":21,"props":5478,"children":5480},{"className":5479},[],[5481],{"type":18,"value":5414},{"type":18,"value":4940},{"type":13,"tag":21,"props":5484,"children":5486},{"className":5485},[],[5487],{"type":18,"value":5421},{"type":18,"value":5423},{"type":13,"tag":4593,"props":5490,"children":5492},{"href":5491},"/chapters/descriptorsets#descriptorsets-uniformbuffer",[5493],{"type":18,"value":5494},"Uniform Buffer",{"type":18,"value":5431},{"type":13,"tag":4593,"props":5497,"children":5499},{"href":5498},"/chapters/descriptorsets#descriptorsets-uniformbufferdynamic",[5500],{"type":18,"value":5501},"Dynamic Uniform Buffer",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5504,"children":5505},{},[5506,5510,5516,5518,5521,5522,5527,5528,5533,5534,5539,5541,5546,5547,5552,5554,5560,5561,5567],{"type":13,"tag":4618,"props":5507,"children":5509},{"id":5508},"limits-maxPerStageDescriptorStorageBuffers",[],{"type":13,"tag":21,"props":5511,"children":5513},{"className":5512},[],[5514],{"type":18,"value":5515},"maxPerStageDescriptorStorageBuffers",{"type":18,"value":5517}," is the maximum number of\nstorage buffers that ",{"type":13,"tag":4657,"props":5519,"children":5520},{"type":4665},[],{"type":18,"value":5458},{"type":13,"tag":21,"props":5523,"children":5525},{"className":5524},[],[5526],{"type":18,"value":5048},{"type":18,"value":4924},{"type":13,"tag":21,"props":5529,"children":5531},{"className":5530},[],[5532],{"type":18,"value":5055},{"type":18,"value":5400},{"type":13,"tag":21,"props":5535,"children":5537},{"className":5536},[],[5538],{"type":18,"value":5406},{"type":18,"value":5540}," bit set\ncount against this limit.\nA descriptor is accessible to a pipeline shader stage when the\n",{"type":13,"tag":21,"props":5542,"children":5544},{"className":5543},[],[5545],{"type":18,"value":5414},{"type":18,"value":5080},{"type":13,"tag":21,"props":5548,"children":5550},{"className":5549},[],[5551],{"type":18,"value":5421},{"type":18,"value":5553},"\nstructure has the bit for that shader stage set.\nSee ",{"type":13,"tag":4593,"props":5555,"children":5557},{"href":5556},"/chapters/descriptorsets#descriptorsets-storagebuffer",[5558],{"type":18,"value":5559},"Storage Buffer",{"type":18,"value":5431},{"type":13,"tag":4593,"props":5562,"children":5564},{"href":5563},"/chapters/descriptorsets#descriptorsets-storagebufferdynamic",[5565],{"type":18,"value":5566},"Dynamic Storage Buffer",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5569,"children":5570},{},[5571,5575,5581,5583,5586,5588,5593,5595,5601,5603,5609,5611,5616,5617,5622,5623,5628,5629,5633,5634,5640,5642,5648],{"type":13,"tag":4618,"props":5572,"children":5574},{"id":5573},"limits-maxPerStageDescriptorSampledImages",[],{"type":13,"tag":21,"props":5576,"children":5578},{"className":5577},[],[5579],{"type":18,"value":5580},"maxPerStageDescriptorSampledImages",{"type":18,"value":5582}," is the maximum number of\nsampled images that ",{"type":13,"tag":4657,"props":5584,"children":5585},{"type":4665},[],{"type":18,"value":5587}," be accessible to a single shader stage in a\npipeline layout.\nDescriptors with a type of\n",{"type":13,"tag":21,"props":5589,"children":5591},{"className":5590},[],[5592],{"type":18,"value":5398},{"type":18,"value":5594},",\n",{"type":13,"tag":21,"props":5596,"children":5598},{"className":5597},[],[5599],{"type":18,"value":5600},"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",{"type":18,"value":5602},", or\n",{"type":13,"tag":21,"props":5604,"children":5606},{"className":5605},[],[5607],{"type":18,"value":5608},"VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",{"type":18,"value":5610}," count against this limit.\nOnly descriptors in descriptor set layouts created without the\n",{"type":13,"tag":21,"props":5612,"children":5614},{"className":5613},[],[5615],{"type":18,"value":5406},{"type":18,"value":5540},{"type":13,"tag":21,"props":5618,"children":5620},{"className":5619},[],[5621],{"type":18,"value":5414},{"type":18,"value":5080},{"type":13,"tag":21,"props":5624,"children":5626},{"className":5625},[],[5627],{"type":18,"value":5421},{"type":18,"value":5553},{"type":13,"tag":4593,"props":5630,"children":5631},{"href":5434},[5632],{"type":18,"value":5437},{"type":18,"value":5594},{"type":13,"tag":4593,"props":5635,"children":5637},{"href":5636},"/chapters/descriptorsets#descriptorsets-sampledimage",[5638],{"type":18,"value":5639},"Sampled Image",{"type":18,"value":5641},", and\n",{"type":13,"tag":4593,"props":5643,"children":5645},{"href":5644},"/chapters/descriptorsets#descriptorsets-uniformtexelbuffer",[5646],{"type":18,"value":5647},"Uniform Texel Buffer",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5650,"children":5651},{},[5652,5656,5662,5664,5667,5668,5674,5675,5681,5682,5687,5688,5693,5694,5699,5700,5706,5707,5713],{"type":13,"tag":4618,"props":5653,"children":5655},{"id":5654},"limits-maxPerStageDescriptorStorageImages",[],{"type":13,"tag":21,"props":5657,"children":5659},{"className":5658},[],[5660],{"type":18,"value":5661},"maxPerStageDescriptorStorageImages",{"type":18,"value":5663}," is the maximum number of\nstorage images that ",{"type":13,"tag":4657,"props":5665,"children":5666},{"type":4665},[],{"type":18,"value":5458},{"type":13,"tag":21,"props":5669,"children":5671},{"className":5670},[],[5672],{"type":18,"value":5673},"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",{"type":18,"value":5602},{"type":13,"tag":21,"props":5676,"children":5678},{"className":5677},[],[5679],{"type":18,"value":5680},"VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",{"type":18,"value":5610},{"type":13,"tag":21,"props":5683,"children":5685},{"className":5684},[],[5686],{"type":18,"value":5406},{"type":18,"value":5540},{"type":13,"tag":21,"props":5689,"children":5691},{"className":5690},[],[5692],{"type":18,"value":5414},{"type":18,"value":5080},{"type":13,"tag":21,"props":5695,"children":5697},{"className":5696},[],[5698],{"type":18,"value":5421},{"type":18,"value":5553},{"type":13,"tag":4593,"props":5701,"children":5703},{"href":5702},"/chapters/descriptorsets#descriptorsets-storageimage",[5704],{"type":18,"value":5705},"Storage Image",{"type":18,"value":5641},{"type":13,"tag":4593,"props":5708,"children":5710},{"href":5709},"/chapters/descriptorsets#descriptorsets-storagetexelbuffer",[5711],{"type":18,"value":5712},"Storage Texel Buffer",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5715,"children":5716},{},[5717,5721,5727,5729,5732,5733,5739,5741,5746,5747,5752,5753,5758,5760,5766],{"type":13,"tag":4618,"props":5718,"children":5720},{"id":5719},"limits-maxPerStageDescriptorInputAttachments",[],{"type":13,"tag":21,"props":5722,"children":5724},{"className":5723},[],[5725],{"type":18,"value":5726},"maxPerStageDescriptorInputAttachments",{"type":18,"value":5728}," is the maximum number of\ninput attachments that ",{"type":13,"tag":4657,"props":5730,"children":5731},{"type":4665},[],{"type":18,"value":5458},{"type":13,"tag":21,"props":5734,"children":5736},{"className":5735},[],[5737],{"type":18,"value":5738},"VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",{"type":18,"value":5740},"\ncount against this limit.\nOnly descriptors in descriptor set layouts created without the\n",{"type":13,"tag":21,"props":5742,"children":5744},{"className":5743},[],[5745],{"type":18,"value":5406},{"type":18,"value":5540},{"type":13,"tag":21,"props":5748,"children":5750},{"className":5749},[],[5751],{"type":18,"value":5414},{"type":18,"value":5080},{"type":13,"tag":21,"props":5754,"children":5756},{"className":5755},[],[5757],{"type":18,"value":5421},{"type":18,"value":5759},"\nstructure has the bit for that shader stage set.\nThese are only supported for the fragment stage.\nSee ",{"type":13,"tag":4593,"props":5761,"children":5763},{"href":5762},"/chapters/descriptorsets#descriptorsets-inputattachment",[5764],{"type":18,"value":5765},"Input Attachment",{"type":18,"value":4608},{"type":13,"tag":4614,"props":5768,"children":5769},{},[5770,5774,5775,5781,5783,5786,5788,5793,5794,5799,5800,5805,5806,5811,5812,5817,5818,5823,5824,5829,5830,5835,5836,5841,5842,5847,5848,5853],{"type":13,"tag":4618,"props":5771,"children":5773},{"id":5772},"limits-maxPerStageResources",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5776,"children":5778},{"className":5777},[],[5779],{"type":18,"value":5780},"maxPerStageResources",{"type":18,"value":5782}," is the\nmaximum number of resources that ",{"type":13,"tag":4657,"props":5784,"children":5785},{"type":4665},[],{"type":18,"value":5787}," be accessible to a single shader\nstage in a pipeline layout.\nDescriptors with a type of\n",{"type":13,"tag":21,"props":5789,"children":5791},{"className":5790},[],[5792],{"type":18,"value":5398},{"type":18,"value":5594},{"type":13,"tag":21,"props":5795,"children":5797},{"className":5796},[],[5798],{"type":18,"value":5600},{"type":18,"value":5594},{"type":13,"tag":21,"props":5801,"children":5803},{"className":5802},[],[5804],{"type":18,"value":5673},{"type":18,"value":5594},{"type":13,"tag":21,"props":5807,"children":5809},{"className":5808},[],[5810],{"type":18,"value":5608},{"type":18,"value":5594},{"type":13,"tag":21,"props":5813,"children":5815},{"className":5814},[],[5816],{"type":18,"value":5680},{"type":18,"value":5594},{"type":13,"tag":21,"props":5819,"children":5821},{"className":5820},[],[5822],{"type":18,"value":4999},{"type":18,"value":5594},{"type":13,"tag":21,"props":5825,"children":5827},{"className":5826},[],[5828],{"type":18,"value":5048},{"type":18,"value":5594},{"type":13,"tag":21,"props":5831,"children":5833},{"className":5832},[],[5834],{"type":18,"value":5006},{"type":18,"value":5594},{"type":13,"tag":21,"props":5837,"children":5839},{"className":5838},[],[5840],{"type":18,"value":5055},{"type":18,"value":5602},{"type":13,"tag":21,"props":5843,"children":5845},{"className":5844},[],[5846],{"type":18,"value":5738},{"type":18,"value":5610},{"type":13,"tag":21,"props":5849,"children":5851},{"className":5850},[],[5852],{"type":18,"value":5406},{"type":18,"value":5854}," bit set\ncount against this limit.\nFor the fragment shader stage the framebuffer color attachments also\ncount against this limit.",{"type":13,"tag":4614,"props":5856,"children":5857},{},[5858,5862,5863,5869,5871,5874,5876,5881,5882,5887,5888,5893,5895,5899,5900,5904],{"type":13,"tag":4618,"props":5859,"children":5861},{"id":5860},"limits-maxDescriptorSetSamplers",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":5864,"children":5866},{"className":5865},[],[5867],{"type":18,"value":5868},"maxDescriptorSetSamplers",{"type":18,"value":5870}," is\nthe maximum number of samplers that ",{"type":13,"tag":4657,"props":5872,"children":5873},{"type":4665},[],{"type":18,"value":5875}," be included in a pipeline\nlayout.\nDescriptors with a type of ",{"type":13,"tag":21,"props":5877,"children":5879},{"className":5878},[],[5880],{"type":18,"value":5391},{"type":18,"value":4924},{"type":13,"tag":21,"props":5883,"children":5885},{"className":5884},[],[5886],{"type":18,"value":5398},{"type":18,"value":5400},{"type":13,"tag":21,"props":5889,"children":5891},{"className":5890},[],[5892],{"type":18,"value":5406},{"type":18,"value":5894}," bit set\ncount against this limit.\nSee ",{"type":13,"tag":4593,"props":5896,"children":5897},{"href":5426},[5898],{"type":18,"value":5429},{"type":18,"value":5431},{"type":13,"tag":4593,"props":5901,"children":5902},{"href":5434},[5903],{"type":18,"value":5437},{"type":18,"value":4608},{"type":13,"tag":4614,"props":5906,"children":5907},{},[5908,5912,5918,5920,5923,5925,5930,5931,5936,5937,5942,5943,5947,5948,5952],{"type":13,"tag":4618,"props":5909,"children":5911},{"id":5910},"limits-maxDescriptorSetUniformBuffers",[],{"type":13,"tag":21,"props":5913,"children":5915},{"className":5914},[],[5916],{"type":18,"value":5917},"maxDescriptorSetUniformBuffers",{"type":18,"value":5919}," is the maximum number of uniform\nbuffers that ",{"type":13,"tag":4657,"props":5921,"children":5922},{"type":4665},[],{"type":18,"value":5924}," be included in a pipeline layout.\nDescriptors with a type of ",{"type":13,"tag":21,"props":5926,"children":5928},{"className":5927},[],[5929],{"type":18,"value":4999},{"type":18,"value":4924},{"type":13,"tag":21,"props":5932,"children":5934},{"className":5933},[],[5935],{"type":18,"value":5006},{"type":18,"value":5400},{"type":13,"tag":21,"props":5938,"children":5940},{"className":5939},[],[5941],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":5944,"children":5945},{"href":5491},[5946],{"type":18,"value":5494},{"type":18,"value":5431},{"type":13,"tag":4593,"props":5949,"children":5950},{"href":5498},[5951],{"type":18,"value":5501},{"type":18,"value":4608},{"type":13,"tag":4614,"props":5954,"children":5955},{},[5956,5960,5966,5968,5971,5973,5978,5979,5984,5985,5989],{"type":13,"tag":4618,"props":5957,"children":5959},{"id":5958},"limits-maxDescriptorSetUniformBuffersDynamic",[],{"type":13,"tag":21,"props":5961,"children":5963},{"className":5962},[],[5964],{"type":18,"value":5965},"maxDescriptorSetUniformBuffersDynamic",{"type":18,"value":5967}," is the maximum number of\ndynamic uniform buffers that ",{"type":13,"tag":4657,"props":5969,"children":5970},{"type":4665},[],{"type":18,"value":5972}," be included in a pipeline layout.\nDescriptors with a type of\n",{"type":13,"tag":21,"props":5974,"children":5976},{"className":5975},[],[5977],{"type":18,"value":5006},{"type":18,"value":5400},{"type":13,"tag":21,"props":5980,"children":5982},{"className":5981},[],[5983],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":5986,"children":5987},{"href":5498},[5988],{"type":18,"value":5501},{"type":18,"value":4608},{"type":13,"tag":4614,"props":5991,"children":5992},{},[5993,5997,6003,6005,6008,6009,6014,6015,6020,6021,6026,6027,6031,6032,6036],{"type":13,"tag":4618,"props":5994,"children":5996},{"id":5995},"limits-maxDescriptorSetStorageBuffers",[],{"type":13,"tag":21,"props":5998,"children":6000},{"className":5999},[],[6001],{"type":18,"value":6002},"maxDescriptorSetStorageBuffers",{"type":18,"value":6004}," is the maximum number of storage\nbuffers that ",{"type":13,"tag":4657,"props":6006,"children":6007},{"type":4665},[],{"type":18,"value":5924},{"type":13,"tag":21,"props":6010,"children":6012},{"className":6011},[],[6013],{"type":18,"value":5048},{"type":18,"value":4924},{"type":13,"tag":21,"props":6016,"children":6018},{"className":6017},[],[6019],{"type":18,"value":5055},{"type":18,"value":5400},{"type":13,"tag":21,"props":6022,"children":6024},{"className":6023},[],[6025],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":6028,"children":6029},{"href":5556},[6030],{"type":18,"value":5559},{"type":18,"value":5431},{"type":13,"tag":4593,"props":6033,"children":6034},{"href":5563},[6035],{"type":18,"value":5566},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6038,"children":6039},{},[6040,6044,6050,6052,6055,6056,6061,6062,6067,6068,6072],{"type":13,"tag":4618,"props":6041,"children":6043},{"id":6042},"limits-maxDescriptorSetStorageBuffersDynamic",[],{"type":13,"tag":21,"props":6045,"children":6047},{"className":6046},[],[6048],{"type":18,"value":6049},"maxDescriptorSetStorageBuffersDynamic",{"type":18,"value":6051}," is the maximum number of\ndynamic storage buffers that ",{"type":13,"tag":4657,"props":6053,"children":6054},{"type":4665},[],{"type":18,"value":5972},{"type":13,"tag":21,"props":6057,"children":6059},{"className":6058},[],[6060],{"type":18,"value":5055},{"type":18,"value":5400},{"type":13,"tag":21,"props":6063,"children":6065},{"className":6064},[],[6066],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":6069,"children":6070},{"href":5563},[6071],{"type":18,"value":5566},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6074,"children":6075},{},[6076,6080,6086,6088,6091,6092,6097,6098,6103,6104,6109,6110,6115,6116,6120,6121,6125,6126,6130],{"type":13,"tag":4618,"props":6077,"children":6079},{"id":6078},"limits-maxDescriptorSetSampledImages",[],{"type":13,"tag":21,"props":6081,"children":6083},{"className":6082},[],[6084],{"type":18,"value":6085},"maxDescriptorSetSampledImages",{"type":18,"value":6087}," is the maximum number of sampled\nimages that ",{"type":13,"tag":4657,"props":6089,"children":6090},{"type":4665},[],{"type":18,"value":5972},{"type":13,"tag":21,"props":6093,"children":6095},{"className":6094},[],[6096],{"type":18,"value":5398},{"type":18,"value":5594},{"type":13,"tag":21,"props":6099,"children":6101},{"className":6100},[],[6102],{"type":18,"value":5600},{"type":18,"value":5602},{"type":13,"tag":21,"props":6105,"children":6107},{"className":6106},[],[6108],{"type":18,"value":5608},{"type":18,"value":5610},{"type":13,"tag":21,"props":6111,"children":6113},{"className":6112},[],[6114],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":6117,"children":6118},{"href":5434},[6119],{"type":18,"value":5437},{"type":18,"value":5594},{"type":13,"tag":4593,"props":6122,"children":6123},{"href":5636},[6124],{"type":18,"value":5639},{"type":18,"value":5641},{"type":13,"tag":4593,"props":6127,"children":6128},{"href":5644},[6129],{"type":18,"value":5647},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6132,"children":6133},{},[6134,6138,6144,6146,6149,6150,6155,6156,6161,6162,6167,6168,6172,6173,6177],{"type":13,"tag":4618,"props":6135,"children":6137},{"id":6136},"limits-maxDescriptorSetStorageImages",[],{"type":13,"tag":21,"props":6139,"children":6141},{"className":6140},[],[6142],{"type":18,"value":6143},"maxDescriptorSetStorageImages",{"type":18,"value":6145}," is the maximum number of storage\nimages that ",{"type":13,"tag":4657,"props":6147,"children":6148},{"type":4665},[],{"type":18,"value":5924},{"type":13,"tag":21,"props":6151,"children":6153},{"className":6152},[],[6154],{"type":18,"value":5673},{"type":18,"value":5602},{"type":13,"tag":21,"props":6157,"children":6159},{"className":6158},[],[6160],{"type":18,"value":5680},{"type":18,"value":5610},{"type":13,"tag":21,"props":6163,"children":6165},{"className":6164},[],[6166],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":6169,"children":6170},{"href":5702},[6171],{"type":18,"value":5705},{"type":18,"value":5641},{"type":13,"tag":4593,"props":6174,"children":6175},{"href":5709},[6176],{"type":18,"value":5712},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6179,"children":6180},{},[6181,6185,6191,6193,6196,6197,6202,6203,6208,6209,6213],{"type":13,"tag":4618,"props":6182,"children":6184},{"id":6183},"limits-maxDescriptorSetInputAttachments",[],{"type":13,"tag":21,"props":6186,"children":6188},{"className":6187},[],[6189],{"type":18,"value":6190},"maxDescriptorSetInputAttachments",{"type":18,"value":6192}," is the maximum number of input\nattachments that ",{"type":13,"tag":4657,"props":6194,"children":6195},{"type":4665},[],{"type":18,"value":5924},{"type":13,"tag":21,"props":6198,"children":6200},{"className":6199},[],[6201],{"type":18,"value":5738},{"type":18,"value":5740},{"type":13,"tag":21,"props":6204,"children":6206},{"className":6205},[],[6207],{"type":18,"value":5406},{"type":18,"value":5894},{"type":13,"tag":4593,"props":6210,"children":6211},{"href":5762},[6212],{"type":18,"value":5765},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6215,"children":6216},{},[6217,6221,6222,6228,6230,6233,6235,6241,6243,6249,6250,6256,6258,6264,6265,6271],{"type":13,"tag":4618,"props":6218,"children":6220},{"id":6219},"limits-maxVertexInputAttributes",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6223,"children":6225},{"className":6224},[],[6226],{"type":18,"value":6227},"maxVertexInputAttributes",{"type":18,"value":6229}," is\nthe maximum number of vertex input attributes that ",{"type":13,"tag":4657,"props":6231,"children":6232},{"type":4665},[],{"type":18,"value":6234}," be specified for\na graphics pipeline.\nThese are described in the array of\n",{"type":13,"tag":21,"props":6236,"children":6238},{"className":6237},[],[6239],{"type":18,"value":6240},"VkVertexInputAttributeDescription",{"type":18,"value":6242}," structures that are provided at\ngraphics pipeline creation time via the\n",{"type":13,"tag":21,"props":6244,"children":6246},{"className":6245},[],[6247],{"type":18,"value":6248},"pVertexAttributeDescriptions",{"type":18,"value":4591},{"type":13,"tag":4593,"props":6251,"children":6253},{"href":6252},"/man/VkPipelineVertexInputStateCreateInfo",[6254],{"type":18,"value":6255},"VkPipelineVertexInputStateCreateInfo",{"type":18,"value":6257}," structure.\nSee ",{"type":13,"tag":4593,"props":6259,"children":6261},{"href":6260},"/chapters/fxvertex#fxvertex-attrib",[6262],{"type":18,"value":6263},"Vertex Attributes",{"type":18,"value":5244},{"type":13,"tag":4593,"props":6266,"children":6268},{"href":6267},"/chapters/fxvertex#fxvertex-input",[6269],{"type":18,"value":6270},"Vertex Input Description",{"type":18,"value":4608},{"type":13,"tag":4614,"props":6273,"children":6274},{},[6275,6279,6280,6286,6288,6291,6293,6299,6301,6307,6308,6312,6314,6320,6321,6326,6327,6330,6332,6336],{"type":13,"tag":4618,"props":6276,"children":6278},{"id":6277},"limits-maxVertexInputBindings",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6281,"children":6283},{"className":6282},[],[6284],{"type":18,"value":6285},"maxVertexInputBindings",{"type":18,"value":6287}," is the\nmaximum number of vertex buffers that ",{"type":13,"tag":4657,"props":6289,"children":6290},{"type":4665},[],{"type":18,"value":6292}," be specified for providing\nvertex attributes to a graphics pipeline.\nThese are described in the array of\n",{"type":13,"tag":21,"props":6294,"children":6296},{"className":6295},[],[6297],{"type":18,"value":6298},"VkVertexInputBindingDescription",{"type":18,"value":6300}," structures that are provided at\ngraphics pipeline creation time via the ",{"type":13,"tag":21,"props":6302,"children":6304},{"className":6303},[],[6305],{"type":18,"value":6306},"pVertexBindingDescriptions",{"type":18,"value":4940},{"type":13,"tag":4593,"props":6309,"children":6310},{"href":6252},[6311],{"type":18,"value":6255},{"type":18,"value":6313}," structure.\nThe ",{"type":13,"tag":21,"props":6315,"children":6317},{"className":6316},[],[6318],{"type":18,"value":6319},"binding",{"type":18,"value":5300},{"type":13,"tag":21,"props":6322,"children":6324},{"className":6323},[],[6325],{"type":18,"value":6298},{"type":18,"value":4623},{"type":13,"tag":4657,"props":6328,"children":6329},{"type":5107},[],{"type":18,"value":6331},"\nbe less than this limit.\nSee ",{"type":13,"tag":4593,"props":6333,"children":6334},{"href":6267},[6335],{"type":18,"value":6270},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6338,"children":6339},{},[6340,6344,6350,6352,6355,6357,6362,6363,6368,6370,6373,6375,6379],{"type":13,"tag":4618,"props":6341,"children":6343},{"id":6342},"limits-maxVertexInputAttributeOffset",[],{"type":13,"tag":21,"props":6345,"children":6347},{"className":6346},[],[6348],{"type":18,"value":6349},"maxVertexInputAttributeOffset",{"type":18,"value":6351}," is the maximum vertex input\nattribute offset that ",{"type":13,"tag":4657,"props":6353,"children":6354},{"type":4665},[],{"type":18,"value":6356}," be added to the vertex input binding stride.\nThe ",{"type":13,"tag":21,"props":6358,"children":6360},{"className":6359},[],[6361],{"type":18,"value":5094},{"type":18,"value":5080},{"type":13,"tag":21,"props":6364,"children":6366},{"className":6365},[],[6367],{"type":18,"value":6240},{"type":18,"value":6369},"\nstructure ",{"type":13,"tag":4657,"props":6371,"children":6372},{"type":5107},[],{"type":18,"value":6374}," be less than or equal to this limit.\nSee ",{"type":13,"tag":4593,"props":6376,"children":6377},{"href":6267},[6378],{"type":18,"value":6270},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6381,"children":6382},{},[6383,6387,6388,6394,6396,6399,6401,6407,6408,6413,6414,6417,6418,6422],{"type":13,"tag":4618,"props":6384,"children":6386},{"id":6385},"limits-maxVertexInputBindingStride",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6389,"children":6391},{"className":6390},[],[6392],{"type":18,"value":6393},"maxVertexInputBindingStride",{"type":18,"value":6395},"\nis the maximum vertex input binding stride that ",{"type":13,"tag":4657,"props":6397,"children":6398},{"type":4665},[],{"type":18,"value":6400}," be specified in a\nvertex input binding.\nThe ",{"type":13,"tag":21,"props":6402,"children":6404},{"className":6403},[],[6405],{"type":18,"value":6406},"stride",{"type":18,"value":5080},{"type":13,"tag":21,"props":6409,"children":6411},{"className":6410},[],[6412],{"type":18,"value":6298},{"type":18,"value":6369},{"type":13,"tag":4657,"props":6415,"children":6416},{"type":5107},[],{"type":18,"value":6374},{"type":13,"tag":4593,"props":6419,"children":6420},{"href":6267},[6421],{"type":18,"value":6270},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6424,"children":6425},{},[6426,6430,6431,6437,6439,6442,6444,6450],{"type":13,"tag":4618,"props":6427,"children":6429},{"id":6428},"limits-maxVertexOutputComponents",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6432,"children":6434},{"className":6433},[],[6435],{"type":18,"value":6436},"maxVertexOutputComponents",{"type":18,"value":6438}," is\nthe maximum number of components of output variables which ",{"type":13,"tag":4657,"props":6440,"children":6441},{"type":4665},[],{"type":18,"value":6443}," be\noutput by a vertex shader.\nSee ",{"type":13,"tag":4593,"props":6445,"children":6447},{"href":6446},"/chapters/shaders#shaders-vertex",[6448],{"type":18,"value":6449},"Vertex Shaders",{"type":18,"value":4608},{"type":13,"tag":4614,"props":6452,"children":6453},{},[6454,6458,6464,6466,6472],{"type":13,"tag":4618,"props":6455,"children":6457},{"id":6456},"limits-maxTessellationGenerationLevel",[],{"type":13,"tag":21,"props":6459,"children":6461},{"className":6460},[],[6462],{"type":18,"value":6463},"maxTessellationGenerationLevel",{"type":18,"value":6465}," is the maximum tessellation\ngeneration level supported by the fixed-function tessellation primitive\ngenerator.\nSee ",{"type":13,"tag":4593,"props":6467,"children":6469},{"href":6468},"/chapters/tessellation#tessellation",[6470],{"type":18,"value":6471},"Tessellation",{"type":18,"value":4608},{"type":13,"tag":4614,"props":6474,"children":6475},{},[6476,6480,6481,6487,6489,6492,6494,6500,6501,6507,6509,6515,6517,6520,6522,6526],{"type":13,"tag":4618,"props":6477,"children":6479},{"id":6478},"limits-maxTessellationPatchSize",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6482,"children":6484},{"className":6483},[],[6485],{"type":18,"value":6486},"maxTessellationPatchSize",{"type":18,"value":6488}," is\nthe maximum patch size, in vertices, of patches that ",{"type":13,"tag":4657,"props":6490,"children":6491},{"type":4665},[],{"type":18,"value":6493}," be processed\nby the tessellation control shader and tessellation primitive generator.\nThe ",{"type":13,"tag":21,"props":6495,"children":6497},{"className":6496},[],[6498],{"type":18,"value":6499},"patchControlPoints",{"type":18,"value":4591},{"type":13,"tag":4593,"props":6502,"children":6504},{"href":6503},"/man/VkPipelineTessellationStateCreateInfo",[6505],{"type":18,"value":6506},"VkPipelineTessellationStateCreateInfo",{"type":18,"value":6508}," structure specified at\npipeline creation time and the value provided in the ",{"type":13,"tag":21,"props":6510,"children":6512},{"className":6511},[],[6513],{"type":18,"value":6514},"OutputVertices",{"type":18,"value":6516},"\nexecution mode of shader modules ",{"type":13,"tag":4657,"props":6518,"children":6519},{"type":5107},[],{"type":18,"value":6521}," be less than or equal to this\nlimit.\nSee ",{"type":13,"tag":4593,"props":6523,"children":6524},{"href":6468},[6525],{"type":18,"value":6471},{"type":18,"value":4608},{"type":13,"tag":4614,"props":6528,"children":6529},{},[6530,6534,6540,6542,6545],{"type":13,"tag":4618,"props":6531,"children":6533},{"id":6532},"limits-maxTessellationControlPerVertexInputComponents",[],{"type":13,"tag":21,"props":6535,"children":6537},{"className":6536},[],[6538],{"type":18,"value":6539},"maxTessellationControlPerVertexInputComponents",{"type":18,"value":6541}," is the maximum\nnumber of components of input variables which ",{"type":13,"tag":4657,"props":6543,"children":6544},{"type":4665},[],{"type":18,"value":6546}," be provided as\nper-vertex inputs to the tessellation control shader stage.",{"type":13,"tag":4614,"props":6548,"children":6549},{},[6550,6554,6560,6562,6565],{"type":13,"tag":4618,"props":6551,"children":6553},{"id":6552},"limits-maxTessellationControlPerVertexOutputComponents",[],{"type":13,"tag":21,"props":6555,"children":6557},{"className":6556},[],[6558],{"type":18,"value":6559},"maxTessellationControlPerVertexOutputComponents",{"type":18,"value":6561}," is the maximum\nnumber of components of per-vertex output variables which ",{"type":13,"tag":4657,"props":6563,"children":6564},{"type":4665},[],{"type":18,"value":6566}," be output\nfrom the tessellation control shader stage.",{"type":13,"tag":4614,"props":6568,"children":6569},{},[6570,6574,6580,6582,6585],{"type":13,"tag":4618,"props":6571,"children":6573},{"id":6572},"limits-maxTessellationControlPerPatchOutputComponents",[],{"type":13,"tag":21,"props":6575,"children":6577},{"className":6576},[],[6578],{"type":18,"value":6579},"maxTessellationControlPerPatchOutputComponents",{"type":18,"value":6581}," is the maximum\nnumber of components of per-patch output variables which ",{"type":13,"tag":4657,"props":6583,"children":6584},{"type":4665},[],{"type":18,"value":6566},{"type":13,"tag":4614,"props":6587,"children":6588},{},[6589,6593,6599,6601,6604],{"type":13,"tag":4618,"props":6590,"children":6592},{"id":6591},"limits-maxTessellationControlTotalOutputComponents",[],{"type":13,"tag":21,"props":6594,"children":6596},{"className":6595},[],[6597],{"type":18,"value":6598},"maxTessellationControlTotalOutputComponents",{"type":18,"value":6600}," is the maximum total\nnumber of components of per-vertex and per-patch output variables which\n",{"type":13,"tag":4657,"props":6602,"children":6603},{"type":4665},[],{"type":18,"value":6605}," be output from the tessellation control shader stage.",{"type":13,"tag":4614,"props":6607,"children":6608},{},[6609,6613,6619,6621,6624],{"type":13,"tag":4618,"props":6610,"children":6612},{"id":6611},"limits-maxTessellationEvaluationInputComponents",[],{"type":13,"tag":21,"props":6614,"children":6616},{"className":6615},[],[6617],{"type":18,"value":6618},"maxTessellationEvaluationInputComponents",{"type":18,"value":6620}," is the maximum number of\ncomponents of input variables which ",{"type":13,"tag":4657,"props":6622,"children":6623},{"type":4665},[],{"type":18,"value":6625}," be provided as per-vertex\ninputs to the tessellation evaluation shader stage.",{"type":13,"tag":4614,"props":6627,"children":6628},{},[6629,6633,6639,6641,6644],{"type":13,"tag":4618,"props":6630,"children":6632},{"id":6631},"limits-maxTessellationEvaluationOutputComponents",[],{"type":13,"tag":21,"props":6634,"children":6636},{"className":6635},[],[6637],{"type":18,"value":6638},"maxTessellationEvaluationOutputComponents",{"type":18,"value":6640}," is the maximum number of\ncomponents of per-vertex output variables which ",{"type":13,"tag":4657,"props":6642,"children":6643},{"type":4665},[],{"type":18,"value":6645}," be output from the\ntessellation evaluation shader stage.",{"type":13,"tag":4614,"props":6647,"children":6648},{},[6649,6653,6659,6661,6667,6669,6672,6673,6679],{"type":13,"tag":4618,"props":6650,"children":6652},{"id":6651},"limits-maxGeometryShaderInvocations",[],{"type":13,"tag":21,"props":6654,"children":6656},{"className":6655},[],[6657],{"type":18,"value":6658},"maxGeometryShaderInvocations",{"type":18,"value":6660}," is the maximum invocation count\nsupported for instanced geometry shaders.\nThe value provided in the ",{"type":13,"tag":21,"props":6662,"children":6664},{"className":6663},[],[6665],{"type":18,"value":6666},"Invocations",{"type":18,"value":6668}," execution mode of shader\nmodules ",{"type":13,"tag":4657,"props":6670,"children":6671},{"type":5107},[],{"type":18,"value":6374},{"type":13,"tag":4593,"props":6674,"children":6676},{"href":6675},"/chapters/geometry#geometry",[6677],{"type":18,"value":6678},"Geometry Shading",{"type":18,"value":4608},{"type":13,"tag":4614,"props":6681,"children":6682},{},[6683,6687,6688,6694,6696,6699],{"type":13,"tag":4618,"props":6684,"children":6686},{"id":6685},"limits-maxGeometryInputComponents",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6689,"children":6691},{"className":6690},[],[6692],{"type":18,"value":6693},"maxGeometryInputComponents",{"type":18,"value":6695},"\nis the maximum number of components of input variables which ",{"type":13,"tag":4657,"props":6697,"children":6698},{"type":4665},[],{"type":18,"value":6700}," be\nprovided as inputs to the geometry shader stage.",{"type":13,"tag":4614,"props":6702,"children":6703},{},[6704,6708,6709,6715,6717,6720],{"type":13,"tag":4618,"props":6705,"children":6707},{"id":6706},"limits-maxGeometryOutputComponents",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6710,"children":6712},{"className":6711},[],[6713],{"type":18,"value":6714},"maxGeometryOutputComponents",{"type":18,"value":6716},"\nis the maximum number of components of output variables which ",{"type":13,"tag":4657,"props":6718,"children":6719},{"type":4665},[],{"type":18,"value":6721}," be\noutput from the geometry shader stage.",{"type":13,"tag":4614,"props":6723,"children":6724},{},[6725,6729,6730,6736,6738,6741],{"type":13,"tag":4618,"props":6726,"children":6728},{"id":6727},"limits-maxGeometryOutputVertices",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6731,"children":6733},{"className":6732},[],[6734],{"type":18,"value":6735},"maxGeometryOutputVertices",{"type":18,"value":6737}," is\nthe maximum number of vertices which ",{"type":13,"tag":4657,"props":6739,"children":6740},{"type":4665},[],{"type":18,"value":6742}," be emitted by any geometry\nshader.",{"type":13,"tag":4614,"props":6744,"children":6745},{},[6746,6750,6756,6758,6761],{"type":13,"tag":4618,"props":6747,"children":6749},{"id":6748},"limits-maxGeometryTotalOutputComponents",[],{"type":13,"tag":21,"props":6751,"children":6753},{"className":6752},[],[6754],{"type":18,"value":6755},"maxGeometryTotalOutputComponents",{"type":18,"value":6757}," is the maximum total number of\ncomponents of output variables, across all emitted vertices, which ",{"type":13,"tag":4657,"props":6759,"children":6760},{"type":4665},[],{"type":18,"value":6762},"\nbe output from the geometry shader stage.",{"type":13,"tag":4614,"props":6764,"children":6765},{},[6766,6770,6771,6777,6778,6781],{"type":13,"tag":4618,"props":6767,"children":6769},{"id":6768},"limits-maxFragmentInputComponents",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6772,"children":6774},{"className":6773},[],[6775],{"type":18,"value":6776},"maxFragmentInputComponents",{"type":18,"value":6695},{"type":13,"tag":4657,"props":6779,"children":6780},{"type":4665},[],{"type":18,"value":6782}," be\nprovided as inputs to the fragment shader stage.",{"type":13,"tag":4614,"props":6784,"children":6785},{},[6786,6790,6796,6798,6801],{"type":13,"tag":4618,"props":6787,"children":6789},{"id":6788},"limits-maxFragmentOutputAttachments",[],{"type":13,"tag":21,"props":6791,"children":6793},{"className":6792},[],[6794],{"type":18,"value":6795},"maxFragmentOutputAttachments",{"type":18,"value":6797}," is the maximum number of output\nattachments which ",{"type":13,"tag":4657,"props":6799,"children":6800},{"type":4665},[],{"type":18,"value":6802}," be written to by the fragment shader stage.",{"type":13,"tag":4614,"props":6804,"children":6805},{},[6806,6810,6816,6817,6820,6822,6828,6829,6839],{"type":13,"tag":4618,"props":6807,"children":6809},{"id":6808},"limits-maxFragmentDualSrcAttachments",[],{"type":13,"tag":21,"props":6811,"children":6813},{"className":6812},[],[6814],{"type":18,"value":6815},"maxFragmentDualSrcAttachments",{"type":18,"value":6797},{"type":13,"tag":4657,"props":6818,"children":6819},{"type":4665},[],{"type":18,"value":6821}," be written to by the fragment shader stage when\nblending is enabled and one of the dual source blend modes is in use.\nSee ",{"type":13,"tag":4593,"props":6823,"children":6825},{"href":6824},"/chapters/framebuffer#framebuffer-dsb",[6826],{"type":18,"value":6827},"Dual-Source Blending",{"type":18,"value":5244},{"type":13,"tag":4593,"props":6830,"children":6832},{"href":6831},"/man/VkPhysicalDeviceFeatures#features-dualSrcBlend",[6833],{"type":13,"tag":21,"props":6834,"children":6836},{"className":6835},[],[6837],{"type":18,"value":6838},"dualSrcBlend",{"type":18,"value":4608},{"type":13,"tag":4614,"props":6841,"children":6842},{},[6843,6847,6853,6855,6861,6863,6869,6871,6874],{"type":13,"tag":4618,"props":6844,"children":6846},{"id":6845},"limits-maxFragmentCombinedOutputResources",[],{"type":13,"tag":21,"props":6848,"children":6850},{"className":6849},[],[6851],{"type":18,"value":6852},"maxFragmentCombinedOutputResources",{"type":18,"value":6854}," is the total number of storage\nbuffers, storage images, and output ",{"type":13,"tag":21,"props":6856,"children":6858},{"className":6857},[],[6859],{"type":18,"value":6860},"Location",{"type":18,"value":6862}," decorated color\nattachments (described in ",{"type":13,"tag":4593,"props":6864,"children":6866},{"href":6865},"/chapters/interfaces#interfaces-fragmentoutput",[6867],{"type":18,"value":6868},"Fragment Output\nInterface",{"type":18,"value":6870},") which ",{"type":13,"tag":4657,"props":6872,"children":6873},{"type":4665},[],{"type":18,"value":6875}," be used in the fragment shader stage.",{"type":13,"tag":4614,"props":6877,"children":6878},{},[6879,6883,6884,6890,6892,6898,6900,6906],{"type":13,"tag":4618,"props":6880,"children":6882},{"id":6881},"limits-maxComputeSharedMemorySize",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6885,"children":6887},{"className":6886},[],[6888],{"type":18,"value":6889},"maxComputeSharedMemorySize",{"type":18,"value":6891},"\nis the maximum total storage size, in bytes, available for variables\ndeclared with the ",{"type":13,"tag":21,"props":6893,"children":6895},{"className":6894},[],[6896],{"type":18,"value":6897},"Workgroup",{"type":18,"value":6899}," storage class in shader modules (or\nwith the ",{"type":13,"tag":21,"props":6901,"children":6903},{"className":6902},[],[6904],{"type":18,"value":6905},"shared",{"type":18,"value":6907}," storage qualifier in GLSL) in the compute shader\nstage.",{"type":13,"tag":4614,"props":6909,"children":6910},{},[6911,6915,6916,6922,6924,6927,6929,6932,6934,6940],{"type":13,"tag":4618,"props":6912,"children":6914},{"id":6913},"limits-maxComputeWorkGroupCount",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6917,"children":6919},{"className":6918},[],[6920],{"type":18,"value":6921},"maxComputeWorkGroupCount",{"type":18,"value":6923},"[3] is\nthe maximum number of local workgroups that ",{"type":13,"tag":4657,"props":6925,"children":6926},{"type":4665},[],{"type":18,"value":6928}," be dispatched by a\nsingle dispatching command.\nThese three values represent the maximum number of local workgroups for\nthe X, Y, and Z dimensions, respectively.\nThe workgroup count parameters to the dispatching commands ",{"type":13,"tag":4657,"props":6930,"children":6931},{"type":5107},[],{"type":18,"value":6933}," be less\nthan or equal to the corresponding limit.\nSee ",{"type":13,"tag":4593,"props":6935,"children":6937},{"href":6936},"/chapters/dispatch#dispatch",[6938],{"type":18,"value":6939},"Dispatching Commands",{"type":18,"value":4608},{"type":13,"tag":4614,"props":6942,"children":6943},{},[6944,6948,6950,6956,6958,6964,6966,6972,6974,6980,6982,6985],{"type":13,"tag":4618,"props":6945,"children":6947},{"id":6946},"limits-maxComputeWorkGroupInvocations",[],{"type":18,"value":6949}," ",{"type":13,"tag":21,"props":6951,"children":6953},{"className":6952},[],[6954],{"type":18,"value":6955},"maxComputeWorkGroupInvocations",{"type":18,"value":6957}," is the maximum total number of\ncompute shader invocations in a single local workgroup.\nThe product of the X, Y, and Z sizes, as specified by the ",{"type":13,"tag":21,"props":6959,"children":6961},{"className":6960},[],[6962],{"type":18,"value":6963},"LocalSize",{"type":18,"value":6965},"\nor ",{"type":13,"tag":21,"props":6967,"children":6969},{"className":6968},[],[6970],{"type":18,"value":6971},"LocalSizeId",{"type":18,"value":6973},"\nexecution mode in shader modules or by the object decorated by the\n",{"type":13,"tag":21,"props":6975,"children":6977},{"className":6976},[],[6978],{"type":18,"value":6979},"WorkgroupSize",{"type":18,"value":6981}," decoration, ",{"type":13,"tag":4657,"props":6983,"children":6984},{"type":5107},[],{"type":18,"value":6986}," be less than or equal to this\nlimit.",{"type":13,"tag":4614,"props":6988,"children":6989},{},[6990,6994,6995,7001,7003,7009,7010,7016,7018,7024,7026,7031,7032,7037,7039,7044,7046,7049],{"type":13,"tag":4618,"props":6991,"children":6993},{"id":6992},"limits-maxComputeWorkGroupSize",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":6996,"children":6998},{"className":6997},[],[6999],{"type":18,"value":7000},"maxComputeWorkGroupSize",{"type":18,"value":7002},"[3] is\nthe maximum size of a local compute workgroup, per dimension.\nThese three values represent the maximum local workgroup size in the X,\nY, and Z dimensions, respectively.\nThe ",{"type":13,"tag":21,"props":7004,"children":7006},{"className":7005},[],[7007],{"type":18,"value":7008},"x",{"type":18,"value":1600},{"type":13,"tag":21,"props":7011,"children":7013},{"className":7012},[],[7014],{"type":18,"value":7015},"y",{"type":18,"value":7017},", and ",{"type":13,"tag":21,"props":7019,"children":7021},{"className":7020},[],[7022],{"type":18,"value":7023},"z",{"type":18,"value":7025}," sizes, as specified by the\n",{"type":13,"tag":21,"props":7027,"children":7029},{"className":7028},[],[7030],{"type":18,"value":6963},{"type":18,"value":6965},{"type":13,"tag":21,"props":7033,"children":7035},{"className":7034},[],[7036],{"type":18,"value":6971},{"type":18,"value":7038},"\nexecution mode or by the object decorated by the ",{"type":13,"tag":21,"props":7040,"children":7042},{"className":7041},[],[7043],{"type":18,"value":6979},{"type":18,"value":7045},"\ndecoration in shader modules, ",{"type":13,"tag":4657,"props":7047,"children":7048},{"type":5107},[],{"type":18,"value":7050}," be less than or equal to the\ncorresponding limit.",{"type":13,"tag":4614,"props":7052,"children":7053},{},[7054,7058,7059,7065,7067,7073,7075,7079,7080,7086],{"type":13,"tag":4618,"props":7055,"children":7057},{"id":7056},"limits-subPixelPrecisionBits",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7060,"children":7062},{"className":7061},[],[7063],{"type":18,"value":7064},"subPixelPrecisionBits",{"type":18,"value":7066}," is the\nnumber of bits of subpixel precision in framebuffer coordinates\nx",{"type":13,"tag":7068,"props":7069,"children":7070},"sub",{},[7071],{"type":18,"value":7072},"f",{"type":18,"value":7074}," and y",{"type":13,"tag":7068,"props":7076,"children":7077},{},[7078],{"type":18,"value":7072},{"type":18,"value":5358},{"type":13,"tag":4593,"props":7081,"children":7083},{"href":7082},"/chapters/primsrast#primsrast",[7084],{"type":18,"value":7085},"Rasterization",{"type":18,"value":4608},{"type":13,"tag":4614,"props":7088,"children":7089},{},[7090,7094,7095,7101],{"type":13,"tag":4618,"props":7091,"children":7093},{"id":7092},"limits-subTexelPrecisionBits",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7096,"children":7098},{"className":7097},[],[7099],{"type":18,"value":7100},"subTexelPrecisionBits",{"type":18,"value":7102}," is the\nnumber of bits of precision in the division along an axis of an image\nused for minification and magnification filters.\n2 is the actual number of divisions\nalong each axis of the image represented.\nSub-texel values calculated during image sampling will snap to these\nlocations when generating the filtered results.",{"type":13,"tag":4614,"props":7104,"children":7105},{},[7106,7110,7111,7117],{"type":13,"tag":4618,"props":7107,"children":7109},{"id":7108},"limits-mipmapPrecisionBits",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7112,"children":7114},{"className":7113},[],[7115],{"type":18,"value":7116},"mipmapPrecisionBits",{"type":18,"value":7118}," is the number\nof bits of division that the LOD calculation for mipmap fetching get\nsnapped to when determining the contribution from each mip level to the\nmip filtered results.\n2 is the actual number of divisions.",{"type":13,"tag":4614,"props":7120,"children":7121},{},[7122,7126,7127,7133,7135,7138,7140,7150],{"type":13,"tag":4618,"props":7123,"children":7125},{"id":7124},"limits-maxDrawIndexedIndexValue",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7128,"children":7130},{"className":7129},[],[7131],{"type":18,"value":7132},"maxDrawIndexedIndexValue",{"type":18,"value":7134}," is\nthe maximum index value that ",{"type":13,"tag":4657,"props":7136,"children":7137},{"type":4665},[],{"type":18,"value":7139}," be used for indexed draw calls when\nusing 32-bit indices.\nThis excludes the primitive restart index value of 0xFFFFFFFF.\nSee ",{"type":13,"tag":4593,"props":7141,"children":7143},{"href":7142},"/man/VkPhysicalDeviceFeatures#features-fullDrawIndexUint32",[7144],{"type":13,"tag":21,"props":7145,"children":7147},{"className":7146},[],[7148],{"type":18,"value":7149},"fullDrawIndexUint32",{"type":18,"value":4608},{"type":13,"tag":4614,"props":7152,"children":7153},{},[7154,7158,7159,7165,7167,7177],{"type":13,"tag":4618,"props":7155,"children":7157},{"id":7156},"limits-maxDrawIndirectCount",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7160,"children":7162},{"className":7161},[],[7163],{"type":18,"value":7164},"maxDrawIndirectCount",{"type":18,"value":7166}," is the\nmaximum draw count that is supported for indirect drawing calls.\nSee ",{"type":13,"tag":4593,"props":7168,"children":7170},{"href":7169},"/man/VkPhysicalDeviceFeatures#features-multiDrawIndirect",[7171],{"type":13,"tag":21,"props":7172,"children":7174},{"className":7173},[],[7175],{"type":18,"value":7176},"multiDrawIndirect",{"type":18,"value":4608},{"type":13,"tag":4614,"props":7179,"children":7180},{},[7181,7185,7186,7192,7194,7200,7201,7207,7209,7215,7217,7222,7224,7229,7231,7236,7238,7243],{"type":13,"tag":4618,"props":7182,"children":7184},{"id":7183},"limits-maxSamplerLodBias",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7187,"children":7189},{"className":7188},[],[7190],{"type":18,"value":7191},"maxSamplerLodBias",{"type":18,"value":7193}," is the maximum\nabsolute sampler LOD bias.\nThe sum of the ",{"type":13,"tag":21,"props":7195,"children":7197},{"className":7196},[],[7198],{"type":18,"value":7199},"mipLodBias",{"type":18,"value":5080},{"type":13,"tag":4593,"props":7202,"children":7204},{"href":7203},"/man/VkSamplerCreateInfo",[7205],{"type":18,"value":7206},"VkSamplerCreateInfo",{"type":18,"value":7208},"\nstructure and the ",{"type":13,"tag":21,"props":7210,"children":7212},{"className":7211},[],[7213],{"type":18,"value":7214},"Bias",{"type":18,"value":7216}," operand of image sampling operations in\nshader modules (or 0 if no ",{"type":13,"tag":21,"props":7218,"children":7220},{"className":7219},[],[7221],{"type":18,"value":7214},{"type":18,"value":7223}," operand is provided to an image\nsampling operation) are clamped to the range\n[-",{"type":13,"tag":21,"props":7225,"children":7227},{"className":7226},[],[7228],{"type":18,"value":7191},{"type":18,"value":7230},",+",{"type":13,"tag":21,"props":7232,"children":7234},{"className":7233},[],[7235],{"type":18,"value":7191},{"type":18,"value":7237},"].\nSee ",{"type":13,"tag":4593,"props":7239,"children":7241},{"href":7240},"/man/VkSamplerCreateInfo#samplers-mipLodBias",[7242],{"type":18,"value":7206},{"type":18,"value":4608},{"type":13,"tag":4614,"props":7245,"children":7246},{},[7247,7251,7252,7258,7260,7266,7267,7271,7273,7278],{"type":13,"tag":4618,"props":7248,"children":7250},{"id":7249},"limits-maxSamplerAnisotropy",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7253,"children":7255},{"className":7254},[],[7256],{"type":18,"value":7257},"maxSamplerAnisotropy",{"type":18,"value":7259}," is the\nmaximum degree of sampler anisotropy.\nThe maximum degree of anisotropic filtering used for an image sampling\noperation is the minimum of the ",{"type":13,"tag":21,"props":7261,"children":7263},{"className":7262},[],[7264],{"type":18,"value":7265},"maxAnisotropy",{"type":18,"value":4591},{"type":13,"tag":4593,"props":7268,"children":7269},{"href":7203},[7270],{"type":18,"value":7206},{"type":18,"value":7272}," structure and this limit.\nSee ",{"type":13,"tag":4593,"props":7274,"children":7276},{"href":7275},"/man/VkSamplerCreateInfo#samplers-maxAnisotropy",[7277],{"type":18,"value":7206},{"type":18,"value":4608},{"type":13,"tag":4614,"props":7280,"children":7281},{},[7282,7286,7287,7293,7295,7301,7302,7308,7310,7313],{"type":13,"tag":4618,"props":7283,"children":7285},{"id":7284},"limits-maxViewports",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7288,"children":7290},{"className":7289},[],[7291],{"type":18,"value":7292},"maxViewports",{"type":18,"value":7294}," is the maximum number of\nactive viewports.\nThe ",{"type":13,"tag":21,"props":7296,"children":7298},{"className":7297},[],[7299],{"type":18,"value":7300},"viewportCount",{"type":18,"value":4591},{"type":13,"tag":4593,"props":7303,"children":7305},{"href":7304},"/man/VkPipelineViewportStateCreateInfo",[7306],{"type":18,"value":7307},"VkPipelineViewportStateCreateInfo",{"type":18,"value":7309}," structure that is provided at\npipeline creation ",{"type":13,"tag":4657,"props":7311,"children":7312},{"type":5107},[],{"type":18,"value":7314}," be less than or equal to this limit.",{"type":13,"tag":4614,"props":7316,"children":7317},{},[7318,7322,7323,7329,7331,7334,7336,7339,7341,7347],{"type":13,"tag":4618,"props":7319,"children":7321},{"id":7320},"limits-maxViewportDimensions",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7324,"children":7326},{"className":7325},[],[7327],{"type":18,"value":7328},"maxViewportDimensions",{"type":18,"value":7330},"[2] are the\nmaximum viewport dimensions in the X (width) and Y (height) dimensions,\nrespectively.\nThe maximum viewport dimensions ",{"type":13,"tag":4657,"props":7332,"children":7333},{"type":5107},[],{"type":18,"value":7335}," be greater than or equal to the\nlargest image which ",{"type":13,"tag":4657,"props":7337,"children":7338},{"type":4665},[],{"type":18,"value":7340}," be created and used as a framebuffer\nattachment.\nSee ",{"type":13,"tag":4593,"props":7342,"children":7344},{"href":7343},"/chapters/vertexpostproc#vertexpostproc-viewport",[7345],{"type":18,"value":7346},"Controlling the Viewport",{"type":18,"value":4608},{"type":13,"tag":4614,"props":7349,"children":7350},{},[7351,7355,7356,7362,7364,7367,7369,7372,7374,7379,7381,7386,7388,7393,7395,7400,7402,7407,7409,7413,7414],{"type":13,"tag":4618,"props":7352,"children":7354},{"id":7353},"limits-viewportboundsrange",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7357,"children":7359},{"className":7358},[],[7360],{"type":18,"value":7361},"viewportBoundsRange",{"type":18,"value":7363},"[2] is the\n[minimum, maximum] range that the corners of a viewport ",{"type":13,"tag":4657,"props":7365,"children":7366},{"type":5107},[],{"type":18,"value":7368}," be\ncontained in.\nThis range ",{"type":13,"tag":4657,"props":7370,"children":7371},{"type":5107},[],{"type":18,"value":7373}," be at least [-2 × ",{"type":13,"tag":21,"props":7375,"children":7377},{"className":7376},[],[7378],{"type":18,"value":5102},{"type":18,"value":7380},", 2 ×\n",{"type":13,"tag":21,"props":7382,"children":7384},{"className":7383},[],[7385],{"type":18,"value":5102},{"type":18,"value":7387}," - 1], where ",{"type":13,"tag":21,"props":7389,"children":7391},{"className":7390},[],[7392],{"type":18,"value":5102},{"type":18,"value":7394}," =\nmax(",{"type":13,"tag":21,"props":7396,"children":7398},{"className":7397},[],[7399],{"type":18,"value":7328},{"type":18,"value":7401},"[0], ",{"type":13,"tag":21,"props":7403,"children":7405},{"className":7404},[],[7406],{"type":18,"value":7328},{"type":18,"value":7408},"[1]).\nSee ",{"type":13,"tag":4593,"props":7410,"children":7411},{"href":7343},[7412],{"type":18,"value":7346},{"type":18,"value":4608},{"type":13,"tag":7415,"props":7416,"children":7417},"note",{},[7418],{"type":13,"tag":14,"props":7419,"children":7420},{},[7421,7423,7428,7430,7435,7437,7442],{"type":18,"value":7422},"The intent of the ",{"type":13,"tag":21,"props":7424,"children":7426},{"className":7425},[],[7427],{"type":18,"value":7361},{"type":18,"value":7429}," limit is to allow a maximum\nsized viewport to be arbitrarily shifted relative to the output target as\nlong as at least some portion intersects.\nThis would give a bounds limit of [-",{"type":13,"tag":21,"props":7431,"children":7433},{"className":7432},[],[7434],{"type":18,"value":5102},{"type":18,"value":7436}," + 1, 2 ×\n",{"type":13,"tag":21,"props":7438,"children":7440},{"className":7439},[],[7441],{"type":18,"value":5102},{"type":18,"value":7443}," - 1] which would allow all possible non-empty-set intersections\nof the output target and the viewport.\nSince these numbers are typically powers of two, picking the signed number\nrange using the smallest possible number of bits ends up with the specified\nrange.",{"type":13,"tag":4614,"props":7445,"children":7446},{},[7447,7451,7452,7458],{"type":13,"tag":4618,"props":7448,"children":7450},{"id":7449},"limits-viewportSubPixelBits",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7453,"children":7455},{"className":7454},[],[7456],{"type":18,"value":7457},"viewportSubPixelBits",{"type":18,"value":7459}," is the number\nof bits of subpixel precision for viewport bounds.\nThe subpixel precision that floating-point viewport bounds are\ninterpreted at is given by this limit.",{"type":13,"tag":4614,"props":7461,"children":7462},{},[7463,7467,7468,7474,7476,7480,7482,7488,7490,7495,7497,7503,7505,7508],{"type":13,"tag":4618,"props":7464,"children":7466},{"id":7465},"limits-minMemoryMapAlignment",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7469,"children":7471},{"className":7470},[],[7472],{"type":18,"value":7473},"minMemoryMapAlignment",{"type":18,"value":7475}," is the\nminimum ",{"type":13,"tag":4657,"props":7477,"children":7479},{"type":7478},"required",[],{"type":18,"value":7481}," alignment, in bytes, of host visible memory\nallocations within the host address space.\nWhen mapping a memory allocation with ",{"type":13,"tag":4593,"props":7483,"children":7485},{"href":7484},"/man/vkMapMemory",[7486],{"type":18,"value":7487},"vkMapMemory",{"type":18,"value":7489},", subtracting\n",{"type":13,"tag":21,"props":7491,"children":7493},{"className":7492},[],[7494],{"type":18,"value":5094},{"type":18,"value":7496}," bytes from the returned pointer will always produce an\ninteger multiple of this limit.\nSee ",{"type":13,"tag":4593,"props":7498,"children":7500},{"href":7499},"/chapters/memory#memory-device-hostaccess",[7501],{"type":18,"value":7502},"Host Access to Device Memory Objects",{"type":18,"value":7504},".\nThe value ",{"type":13,"tag":4657,"props":7506,"children":7507},{"type":5107},[],{"type":18,"value":7509}," be a power of two.",{"type":13,"tag":4614,"props":7511,"children":7512},{},[7513,7517,7523,7525,7528,7530,7535,7536,7542,7544,7547,7549,7559,7561,7571,7572,7582,7584,7590,7592,7596,7598,7608,7609,7619,7621,7629,7631,7635,7636,7641,7642,7645],{"type":13,"tag":4618,"props":7514,"children":7516},{"id":7515},"limits-minTexelBufferOffsetAlignment",[],{"type":13,"tag":21,"props":7518,"children":7520},{"className":7519},[],[7521],{"type":18,"value":7522},"minTexelBufferOffsetAlignment",{"type":18,"value":7524}," is the minimum ",{"type":13,"tag":4657,"props":7526,"children":7527},{"type":7478},[],{"type":18,"value":7529}," alignment,\nin bytes, for the ",{"type":13,"tag":21,"props":7531,"children":7533},{"className":7532},[],[7534],{"type":18,"value":5094},{"type":18,"value":4591},{"type":13,"tag":4593,"props":7537,"children":7539},{"href":7538},"/man/VkBufferViewCreateInfo",[7540],{"type":18,"value":7541},"VkBufferViewCreateInfo",{"type":18,"value":7543}," structure for texel buffers.\nThe value ",{"type":13,"tag":4657,"props":7545,"children":7546},{"type":5107},[],{"type":18,"value":7548}," be a power of two.\nIf ",{"type":13,"tag":4593,"props":7550,"children":7552},{"href":7551},"/man/VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT#features-texelBufferAlignment",[7553],{"type":13,"tag":21,"props":7554,"children":7556},{"className":7555},[],[7557],{"type":18,"value":7558},"texelBufferAlignment",{"type":18,"value":7560}," is\nenabled, this limit is equivalent to the maximum of the\n",{"type":13,"tag":4593,"props":7562,"children":7564},{"href":7563},"/man/VkPhysicalDeviceTexelBufferAlignmentProperties#limits-uniformTexelBufferOffsetAlignmentBytes",[7565],{"type":13,"tag":21,"props":7566,"children":7568},{"className":7567},[],[7569],{"type":18,"value":7570},"uniformTexelBufferOffsetAlignmentBytes",{"type":18,"value":5431},{"type":13,"tag":4593,"props":7573,"children":7575},{"href":7574},"/man/VkPhysicalDeviceTexelBufferAlignmentProperties#limits-storageTexelBufferOffsetAlignmentBytes",[7576],{"type":13,"tag":21,"props":7577,"children":7579},{"className":7578},[],[7580],{"type":18,"value":7581},"storageTexelBufferOffsetAlignmentBytes",{"type":18,"value":7583}," members of\n",{"type":13,"tag":4593,"props":7585,"children":7587},{"href":7586},"/man/VkPhysicalDeviceTexelBufferAlignmentProperties",[7588],{"type":18,"value":7589},"VkPhysicalDeviceTexelBufferAlignmentProperties",{"type":18,"value":7591},", but smaller\nalignment is ",{"type":13,"tag":4657,"props":7593,"children":7595},{"type":7594},"optionally",[],{"type":18,"value":7597}," allowed by\n",{"type":13,"tag":4593,"props":7599,"children":7601},{"href":7600},"/man/VkPhysicalDeviceTexelBufferAlignmentProperties#limits-storageTexelBufferOffsetSingleTexelAlignment",[7602],{"type":13,"tag":21,"props":7603,"children":7605},{"className":7604},[],[7606],{"type":18,"value":7607},"storageTexelBufferOffsetSingleTexelAlignment",{"type":18,"value":5431},{"type":13,"tag":4593,"props":7610,"children":7612},{"href":7611},"/man/VkPhysicalDeviceTexelBufferAlignmentProperties#limits-uniformTexelBufferOffsetSingleTexelAlignment",[7613],{"type":13,"tag":21,"props":7614,"children":7616},{"className":7615},[],[7617],{"type":18,"value":7618},"uniformTexelBufferOffsetSingleTexelAlignment",{"type":18,"value":7620},".\nIf ",{"type":13,"tag":4593,"props":7622,"children":7623},{"href":7551},[7624],{"type":13,"tag":21,"props":7625,"children":7627},{"className":7626},[],[7628],{"type":18,"value":7558},{"type":18,"value":7630}," is not\nenabled,\n",{"type":13,"tag":4593,"props":7632,"children":7633},{"href":7538},[7634],{"type":18,"value":7541},{"type":18,"value":1885},{"type":13,"tag":21,"props":7637,"children":7639},{"className":7638},[],[7640],{"type":18,"value":5094},{"type":18,"value":4623},{"type":13,"tag":4657,"props":7643,"children":7644},{"type":5107},[],{"type":18,"value":7646}," be a multiple of this\nvalue.",{"type":13,"tag":4614,"props":7648,"children":7649},{},[7650,7654,7660,7661,7664,7666,7671,7672,7677,7679,7684,7685,7690,7692,7697,7698,7701,7703,7706,7708,7711],{"type":13,"tag":4618,"props":7651,"children":7653},{"id":7652},"limits-minUniformBufferOffsetAlignment",[],{"type":13,"tag":21,"props":7655,"children":7657},{"className":7656},[],[7658],{"type":18,"value":7659},"minUniformBufferOffsetAlignment",{"type":18,"value":7524},{"type":13,"tag":4657,"props":7662,"children":7663},{"type":7478},[],{"type":18,"value":7665},"\nalignment, in bytes, for the ",{"type":13,"tag":21,"props":7667,"children":7669},{"className":7668},[],[7670],{"type":18,"value":5094},{"type":18,"value":4591},{"type":13,"tag":21,"props":7673,"children":7675},{"className":7674},[],[7676],{"type":18,"value":4983},{"type":18,"value":7678}," structure for uniform buffers.\nWhen a descriptor of type ",{"type":13,"tag":21,"props":7680,"children":7682},{"className":7681},[],[7683],{"type":18,"value":4999},{"type":18,"value":4924},{"type":13,"tag":21,"props":7686,"children":7688},{"className":7687},[],[7689],{"type":18,"value":5006},{"type":18,"value":7691}," is updated, the\n",{"type":13,"tag":21,"props":7693,"children":7695},{"className":7694},[],[7696],{"type":18,"value":5094},{"type":18,"value":4623},{"type":13,"tag":4657,"props":7699,"children":7700},{"type":5107},[],{"type":18,"value":7702}," be an integer multiple of this limit.\nSimilarly, dynamic offsets for uniform buffers ",{"type":13,"tag":4657,"props":7704,"children":7705},{"type":5107},[],{"type":18,"value":7707}," be multiples of\nthis limit.\nThe value ",{"type":13,"tag":4657,"props":7709,"children":7710},{"type":5107},[],{"type":18,"value":7509},{"type":13,"tag":4614,"props":7713,"children":7714},{},[7715,7719,7725,7726,7729,7730,7735,7736,7741,7743,7748,7749,7754,7755,7760,7761,7764,7766,7769,7770,7773],{"type":13,"tag":4618,"props":7716,"children":7718},{"id":7717},"limits-minStorageBufferOffsetAlignment",[],{"type":13,"tag":21,"props":7720,"children":7722},{"className":7721},[],[7723],{"type":18,"value":7724},"minStorageBufferOffsetAlignment",{"type":18,"value":7524},{"type":13,"tag":4657,"props":7727,"children":7728},{"type":7478},[],{"type":18,"value":7665},{"type":13,"tag":21,"props":7731,"children":7733},{"className":7732},[],[7734],{"type":18,"value":5094},{"type":18,"value":4591},{"type":13,"tag":21,"props":7737,"children":7739},{"className":7738},[],[7740],{"type":18,"value":4983},{"type":18,"value":7742}," structure for storage buffers.\nWhen a descriptor of type ",{"type":13,"tag":21,"props":7744,"children":7746},{"className":7745},[],[7747],{"type":18,"value":5048},{"type":18,"value":4924},{"type":13,"tag":21,"props":7750,"children":7752},{"className":7751},[],[7753],{"type":18,"value":5055},{"type":18,"value":7691},{"type":13,"tag":21,"props":7756,"children":7758},{"className":7757},[],[7759],{"type":18,"value":5094},{"type":18,"value":4623},{"type":13,"tag":4657,"props":7762,"children":7763},{"type":5107},[],{"type":18,"value":7765}," be an integer multiple of this limit.\nSimilarly, dynamic offsets for storage buffers ",{"type":13,"tag":4657,"props":7767,"children":7768},{"type":5107},[],{"type":18,"value":7707},{"type":13,"tag":4657,"props":7771,"children":7772},{"type":5107},[],{"type":18,"value":7509},{"type":13,"tag":4614,"props":7775,"children":7776},{},[7777,7781,7782,7788,7790,7796,7798,7804,7805,7811],{"type":13,"tag":4618,"props":7778,"children":7780},{"id":7779},"limits-minTexelOffset",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7783,"children":7785},{"className":7784},[],[7786],{"type":18,"value":7787},"minTexelOffset",{"type":18,"value":7789}," is the minimum offset\nvalue for the ",{"type":13,"tag":21,"props":7791,"children":7793},{"className":7792},[],[7794],{"type":18,"value":7795},"ConstOffset",{"type":18,"value":7797}," image operand of any of the\n",{"type":13,"tag":21,"props":7799,"children":7801},{"className":7800},[],[7802],{"type":18,"value":7803},"OpImageSample*",{"type":18,"value":4697},{"type":13,"tag":21,"props":7806,"children":7808},{"className":7807},[],[7809],{"type":18,"value":7810},"OpImageFetch*",{"type":18,"value":7812}," image instructions.",{"type":13,"tag":4614,"props":7814,"children":7815},{},[7816,7820,7821,7827,7829,7834,7835,7840,7841,7846],{"type":13,"tag":4618,"props":7817,"children":7819},{"id":7818},"limits-maxTexelOffset",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7822,"children":7824},{"className":7823},[],[7825],{"type":18,"value":7826},"maxTexelOffset",{"type":18,"value":7828}," is the maximum offset\nvalue for the ",{"type":13,"tag":21,"props":7830,"children":7832},{"className":7831},[],[7833],{"type":18,"value":7795},{"type":18,"value":7797},{"type":13,"tag":21,"props":7836,"children":7838},{"className":7837},[],[7839],{"type":18,"value":7803},{"type":18,"value":4697},{"type":13,"tag":21,"props":7842,"children":7844},{"className":7843},[],[7845],{"type":18,"value":7810},{"type":18,"value":7812},{"type":13,"tag":4614,"props":7848,"children":7849},{},[7850,7854,7855,7861,7863,7869,7870,7875,7876,7882,7884,7890],{"type":13,"tag":4618,"props":7851,"children":7853},{"id":7852},"limits-minTexelGatherOffset",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7856,"children":7858},{"className":7857},[],[7859],{"type":18,"value":7860},"minTexelGatherOffset",{"type":18,"value":7862}," is the\nminimum offset value for the ",{"type":13,"tag":21,"props":7864,"children":7866},{"className":7865},[],[7867],{"type":18,"value":7868},"Offset",{"type":18,"value":1600},{"type":13,"tag":21,"props":7871,"children":7873},{"className":7872},[],[7874],{"type":18,"value":7795},{"type":18,"value":5602},{"type":13,"tag":21,"props":7877,"children":7879},{"className":7878},[],[7880],{"type":18,"value":7881},"ConstOffsets",{"type":18,"value":7883}," image operands of any of the ",{"type":13,"tag":21,"props":7885,"children":7887},{"className":7886},[],[7888],{"type":18,"value":7889},"OpImage*Gather",{"type":18,"value":7891}," image\ninstructions.",{"type":13,"tag":4614,"props":7893,"children":7894},{},[7895,7899,7900,7906,7908,7913,7914,7919,7920,7925,7926,7931],{"type":13,"tag":4618,"props":7896,"children":7898},{"id":7897},"limits-maxTexelGatherOffset",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7901,"children":7903},{"className":7902},[],[7904],{"type":18,"value":7905},"maxTexelGatherOffset",{"type":18,"value":7907}," is the\nmaximum offset value for the ",{"type":13,"tag":21,"props":7909,"children":7911},{"className":7910},[],[7912],{"type":18,"value":7868},{"type":18,"value":1600},{"type":13,"tag":21,"props":7915,"children":7917},{"className":7916},[],[7918],{"type":18,"value":7795},{"type":18,"value":5602},{"type":13,"tag":21,"props":7921,"children":7923},{"className":7922},[],[7924],{"type":18,"value":7881},{"type":18,"value":7883},{"type":13,"tag":21,"props":7927,"children":7929},{"className":7928},[],[7930],{"type":18,"value":7889},{"type":18,"value":7891},{"type":13,"tag":4614,"props":7933,"children":7934},{},[7935,7939,7940,7946,7948,7953,7955,7961],{"type":13,"tag":4618,"props":7936,"children":7938},{"id":7937},"limits-minInterpolationOffset",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7941,"children":7943},{"className":7942},[],[7944],{"type":18,"value":7945},"minInterpolationOffset",{"type":18,"value":7947}," is the\nbase minimum (inclusive) negative offset value for the ",{"type":13,"tag":21,"props":7949,"children":7951},{"className":7950},[],[7952],{"type":18,"value":7868},{"type":18,"value":7954},"\noperand of the ",{"type":13,"tag":21,"props":7956,"children":7958},{"className":7957},[],[7959],{"type":18,"value":7960},"InterpolateAtOffset",{"type":18,"value":7962}," extended instruction.",{"type":13,"tag":4614,"props":7964,"children":7965},{},[7966,7970,7971,7977,7979,7984,7985,7990],{"type":13,"tag":4618,"props":7967,"children":7969},{"id":7968},"limits-maxInterpolationOffset",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":7972,"children":7974},{"className":7973},[],[7975],{"type":18,"value":7976},"maxInterpolationOffset",{"type":18,"value":7978}," is the\nbase maximum (inclusive) positive offset value for the ",{"type":13,"tag":21,"props":7980,"children":7982},{"className":7981},[],[7983],{"type":18,"value":7868},{"type":18,"value":7954},{"type":13,"tag":21,"props":7986,"children":7988},{"className":7987},[],[7989],{"type":18,"value":7960},{"type":18,"value":7962},{"type":13,"tag":4614,"props":7992,"children":7993},{},[7994,7998,8004,8006,8011,8012,8017,8019,8024,8026,8029],{"type":13,"tag":4618,"props":7995,"children":7997},{"id":7996},"limits-subPixelInterpolationOffsetBits",[],{"type":13,"tag":21,"props":7999,"children":8001},{"className":8000},[],[8002],{"type":18,"value":8003},"subPixelInterpolationOffsetBits",{"type":18,"value":8005}," is the number of fractional bits\nthat the ",{"type":13,"tag":21,"props":8007,"children":8009},{"className":8008},[],[8010],{"type":18,"value":7008},{"type":18,"value":5244},{"type":13,"tag":21,"props":8013,"children":8015},{"className":8014},[],[8016],{"type":18,"value":7015},{"type":18,"value":8018}," offsets to the ",{"type":13,"tag":21,"props":8020,"children":8022},{"className":8021},[],[8023],{"type":18,"value":7960},{"type":18,"value":8025},"\nextended instruction ",{"type":13,"tag":4657,"props":8027,"children":8028},{"type":4659},[],{"type":18,"value":8030}," be rounded to as fixed-point values.",{"type":13,"tag":4614,"props":8032,"children":8033},{},[8034,8038,8039,8045,8047,8052,8053,8059,8061,8064],{"type":13,"tag":4618,"props":8035,"children":8037},{"id":8036},"limits-maxFramebufferWidth",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8040,"children":8042},{"className":8041},[],[8043],{"type":18,"value":8044},"maxFramebufferWidth",{"type":18,"value":8046}," is the maximum\nwidth for a framebuffer.\nThe ",{"type":13,"tag":21,"props":8048,"children":8050},{"className":8049},[],[8051],{"type":18,"value":4637},{"type":18,"value":5080},{"type":13,"tag":4593,"props":8054,"children":8056},{"href":8055},"/man/VkFramebufferCreateInfo",[8057],{"type":18,"value":8058},"VkFramebufferCreateInfo",{"type":18,"value":8060}," structure\n",{"type":13,"tag":4657,"props":8062,"children":8063},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8066,"children":8067},{},[8068,8072,8073,8079,8081,8086,8087,8091,8092,8095],{"type":13,"tag":4618,"props":8069,"children":8071},{"id":8070},"limits-maxFramebufferHeight",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8074,"children":8076},{"className":8075},[],[8077],{"type":18,"value":8078},"maxFramebufferHeight",{"type":18,"value":8080}," is the\nmaximum height for a framebuffer.\nThe ",{"type":13,"tag":21,"props":8082,"children":8084},{"className":8083},[],[8085],{"type":18,"value":4703},{"type":18,"value":5080},{"type":13,"tag":4593,"props":8088,"children":8089},{"href":8055},[8090],{"type":18,"value":8058},{"type":18,"value":8060},{"type":13,"tag":4657,"props":8093,"children":8094},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8097,"children":8098},{},[8099,8103,8104,8110,8112,8118,8119,8123,8124,8127],{"type":13,"tag":4618,"props":8100,"children":8102},{"id":8101},"limits-maxFramebufferLayers",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8105,"children":8107},{"className":8106},[],[8108],{"type":18,"value":8109},"maxFramebufferLayers",{"type":18,"value":8111}," is the\nmaximum layer count for a layered framebuffer.\nThe ",{"type":13,"tag":21,"props":8113,"children":8115},{"className":8114},[],[8116],{"type":18,"value":8117},"layers",{"type":18,"value":5080},{"type":13,"tag":4593,"props":8120,"children":8121},{"href":8055},[8122],{"type":18,"value":8058},{"type":18,"value":8060},{"type":13,"tag":4657,"props":8125,"children":8126},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8129,"children":8130},{},[8131,8135,8141,8143,8156,8157,8163],{"type":13,"tag":4618,"props":8132,"children":8134},{"id":8133},"limits-framebufferColorSampleCounts",[],{"type":13,"tag":21,"props":8136,"children":8138},{"className":8137},[],[8139],{"type":18,"value":8140},"framebufferColorSampleCounts",{"type":18,"value":8142}," is a bitmask",{"type":13,"tag":8144,"props":8145,"children":8146},"sup",{},[8147],{"type":13,"tag":4593,"props":8148,"children":8153},{"href":8149,"ariaDescribedBy":8150,"dataFootnoteRef":39,"id":8152},"#user-content-fn-1",[8151],"footnote-label","user-content-fnref-1",[8154],{"type":18,"value":8155},"1",{"type":18,"value":4712},{"type":13,"tag":4593,"props":8158,"children":8160},{"href":8159},"/man/VkSampleCountFlagBits",[8161],{"type":18,"value":8162},"VkSampleCountFlagBits",{"type":18,"value":8164}," indicating the color sample counts that are\nsupported for all framebuffer color attachments with floating- or\nfixed-point formats.\nThere is no limit specifying the color sample counts that are supported\nfor all color attachments with integer formats.",{"type":13,"tag":4614,"props":8166,"children":8167},{},[8168,8172,8178,8179,8188,8189,8193],{"type":13,"tag":4618,"props":8169,"children":8171},{"id":8170},"limits-framebufferDepthSampleCounts",[],{"type":13,"tag":21,"props":8173,"children":8175},{"className":8174},[],[8176],{"type":18,"value":8177},"framebufferDepthSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8180,"children":8181},{},[8182],{"type":13,"tag":4593,"props":8183,"children":8186},{"href":8149,"ariaDescribedBy":8184,"dataFootnoteRef":39,"id":8185},[8151],"user-content-fnref-1-2",[8187],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8190,"children":8191},{"href":8159},[8192],{"type":18,"value":8162},{"type":18,"value":8194}," indicating the supported depth sample counts\nfor all framebuffer depth/stencil attachments, when the format includes\na depth component.",{"type":13,"tag":4614,"props":8196,"children":8197},{},[8198,8202,8208,8209,8218,8219,8223],{"type":13,"tag":4618,"props":8199,"children":8201},{"id":8200},"limits-framebufferStencilSampleCounts",[],{"type":13,"tag":21,"props":8203,"children":8205},{"className":8204},[],[8206],{"type":18,"value":8207},"framebufferStencilSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8210,"children":8211},{},[8212],{"type":13,"tag":4593,"props":8213,"children":8216},{"href":8149,"ariaDescribedBy":8214,"dataFootnoteRef":39,"id":8215},[8151],"user-content-fnref-1-3",[8217],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8220,"children":8221},{"href":8159},[8222],{"type":18,"value":8162},{"type":18,"value":8224}," indicating the supported stencil sample\ncounts for all framebuffer depth/stencil attachments, when the format\nincludes a stencil component.",{"type":13,"tag":4614,"props":8226,"children":8227},{},[8228,8232,8238,8239,8248,8249,8253,8255,8261],{"type":13,"tag":4618,"props":8229,"children":8231},{"id":8230},"limits-framebufferNoAttachmentsSampleCounts",[],{"type":13,"tag":21,"props":8233,"children":8235},{"className":8234},[],[8236],{"type":18,"value":8237},"framebufferNoAttachmentsSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8240,"children":8241},{},[8242],{"type":13,"tag":4593,"props":8243,"children":8246},{"href":8149,"ariaDescribedBy":8244,"dataFootnoteRef":39,"id":8245},[8151],"user-content-fnref-1-4",[8247],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8250,"children":8251},{"href":8159},[8252],{"type":18,"value":8162},{"type":18,"value":8254}," indicating the supported sample counts for a\n",{"type":13,"tag":4593,"props":8256,"children":8258},{"href":8257},"/man/VkFramebufferCreateInfo#renderpass-noattachments",[8259],{"type":18,"value":8260},"subpass which uses no attachments",{"type":18,"value":4608},{"type":13,"tag":4614,"props":8263,"children":8264},{},[8265,8269,8270,8276,8278,8281,8283,8289,8290,8296,8297,8303,8304,8307],{"type":13,"tag":4618,"props":8266,"children":8268},{"id":8267},"limits-maxColorAttachments",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8271,"children":8273},{"className":8272},[],[8274],{"type":18,"value":8275},"maxColorAttachments",{"type":18,"value":8277}," is the maximum\nnumber of color attachments that ",{"type":13,"tag":4657,"props":8279,"children":8280},{"type":4665},[],{"type":18,"value":8282}," be used by a subpass in a render\npass.\nThe ",{"type":13,"tag":21,"props":8284,"children":8286},{"className":8285},[],[8287],{"type":18,"value":8288},"colorAttachmentCount",{"type":18,"value":5080},{"type":13,"tag":21,"props":8291,"children":8293},{"className":8292},[],[8294],{"type":18,"value":8295},"VkSubpassDescription",{"type":18,"value":6965},{"type":13,"tag":21,"props":8298,"children":8300},{"className":8299},[],[8301],{"type":18,"value":8302},"VkSubpassDescription2",{"type":18,"value":6369},{"type":13,"tag":4657,"props":8305,"children":8306},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8309,"children":8310},{},[8311,8315,8321,8322,8331,8332,8336,8338,8344,8345,8350,8352,8358],{"type":13,"tag":4618,"props":8312,"children":8314},{"id":8313},"limits-sampledImageColorSampleCounts",[],{"type":13,"tag":21,"props":8316,"children":8318},{"className":8317},[],[8319],{"type":18,"value":8320},"sampledImageColorSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8323,"children":8324},{},[8325],{"type":13,"tag":4593,"props":8326,"children":8329},{"href":8149,"ariaDescribedBy":8327,"dataFootnoteRef":39,"id":8328},[8151],"user-content-fnref-1-5",[8330],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8333,"children":8334},{"href":8159},[8335],{"type":18,"value":8162},{"type":18,"value":8337}," indicating the sample counts supported for\nall 2D images created with ",{"type":13,"tag":21,"props":8339,"children":8341},{"className":8340},[],[8342],{"type":18,"value":8343},"VK_IMAGE_TILING_OPTIMAL",{"type":18,"value":1600},{"type":13,"tag":21,"props":8346,"children":8348},{"className":8347},[],[8349],{"type":18,"value":4938},{"type":18,"value":8351},"\ncontaining ",{"type":13,"tag":21,"props":8353,"children":8355},{"className":8354},[],[8356],{"type":18,"value":8357},"VK_IMAGE_USAGE_SAMPLED_BIT",{"type":18,"value":8359},", and a non-integer color\nformat.",{"type":13,"tag":4614,"props":8361,"children":8362},{},[8363,8367,8373,8374,8383,8384,8388,8389,8394,8395,8400,8401,8406],{"type":13,"tag":4618,"props":8364,"children":8366},{"id":8365},"limits-sampledImageIntegerSampleCounts",[],{"type":13,"tag":21,"props":8368,"children":8370},{"className":8369},[],[8371],{"type":18,"value":8372},"sampledImageIntegerSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8375,"children":8376},{},[8377],{"type":13,"tag":4593,"props":8378,"children":8381},{"href":8149,"ariaDescribedBy":8379,"dataFootnoteRef":39,"id":8380},[8151],"user-content-fnref-1-6",[8382],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8385,"children":8386},{"href":8159},[8387],{"type":18,"value":8162},{"type":18,"value":8337},{"type":13,"tag":21,"props":8390,"children":8392},{"className":8391},[],[8393],{"type":18,"value":8343},{"type":18,"value":1600},{"type":13,"tag":21,"props":8396,"children":8398},{"className":8397},[],[8399],{"type":18,"value":4938},{"type":18,"value":8351},{"type":13,"tag":21,"props":8402,"children":8404},{"className":8403},[],[8405],{"type":18,"value":8357},{"type":18,"value":8407},", and an integer color\nformat.",{"type":13,"tag":4614,"props":8409,"children":8410},{},[8411,8415,8421,8422,8431,8432,8436,8437,8442,8443,8448,8449,8454],{"type":13,"tag":4618,"props":8412,"children":8414},{"id":8413},"limits-sampledImageDepthSampleCounts",[],{"type":13,"tag":21,"props":8416,"children":8418},{"className":8417},[],[8419],{"type":18,"value":8420},"sampledImageDepthSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8423,"children":8424},{},[8425],{"type":13,"tag":4593,"props":8426,"children":8429},{"href":8149,"ariaDescribedBy":8427,"dataFootnoteRef":39,"id":8428},[8151],"user-content-fnref-1-7",[8430],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8433,"children":8434},{"href":8159},[8435],{"type":18,"value":8162},{"type":18,"value":8337},{"type":13,"tag":21,"props":8438,"children":8440},{"className":8439},[],[8441],{"type":18,"value":8343},{"type":18,"value":1600},{"type":13,"tag":21,"props":8444,"children":8446},{"className":8445},[],[8447],{"type":18,"value":4938},{"type":18,"value":8351},{"type":13,"tag":21,"props":8450,"children":8452},{"className":8451},[],[8453],{"type":18,"value":8357},{"type":18,"value":8455},", and a depth format.",{"type":13,"tag":4614,"props":8457,"children":8458},{},[8459,8463,8469,8470,8479,8480,8484,8485,8490,8491,8496,8497,8502],{"type":13,"tag":4618,"props":8460,"children":8462},{"id":8461},"limits-sampledImageStencilSampleCounts",[],{"type":13,"tag":21,"props":8464,"children":8466},{"className":8465},[],[8467],{"type":18,"value":8468},"sampledImageStencilSampleCounts",{"type":18,"value":8142},{"type":13,"tag":8144,"props":8471,"children":8472},{},[8473],{"type":13,"tag":4593,"props":8474,"children":8477},{"href":8149,"ariaDescribedBy":8475,"dataFootnoteRef":39,"id":8476},[8151],"user-content-fnref-1-8",[8478],{"type":18,"value":8155},{"type":18,"value":4712},{"type":13,"tag":4593,"props":8481,"children":8482},{"href":8159},[8483],{"type":18,"value":8162},{"type":18,"value":8337},{"type":13,"tag":21,"props":8486,"children":8488},{"className":8487},[],[8489],{"type":18,"value":8343},{"type":18,"value":1600},{"type":13,"tag":21,"props":8492,"children":8494},{"className":8493},[],[8495],{"type":18,"value":4938},{"type":18,"value":8351},{"type":13,"tag":21,"props":8498,"children":8500},{"className":8499},[],[8501],{"type":18,"value":8357},{"type":18,"value":8503},", and a stencil format.",{"type":13,"tag":4614,"props":8505,"children":8506},{},[8507,8511,8512,8518,8520,8529,8530,8534,8536,8541,8543,8548,8550,8556],{"type":13,"tag":4618,"props":8508,"children":8510},{"id":8509},"limits-storageImageSampleCounts",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8513,"children":8515},{"className":8514},[],[8516],{"type":18,"value":8517},"storageImageSampleCounts",{"type":18,"value":8519}," is a\nbitmask",{"type":13,"tag":8144,"props":8521,"children":8522},{},[8523],{"type":13,"tag":4593,"props":8524,"children":8527},{"href":8149,"ariaDescribedBy":8525,"dataFootnoteRef":39,"id":8526},[8151],"user-content-fnref-1-9",[8528],{"type":18,"value":8155},{"type":18,"value":4647},{"type":13,"tag":4593,"props":8531,"children":8532},{"href":8159},[8533],{"type":18,"value":8162},{"type":18,"value":8535}," indicating the sample counts\nsupported for all 2D images created with ",{"type":13,"tag":21,"props":8537,"children":8539},{"className":8538},[],[8540],{"type":18,"value":8343},{"type":18,"value":8542},",\nand ",{"type":13,"tag":21,"props":8544,"children":8546},{"className":8545},[],[8547],{"type":18,"value":4938},{"type":18,"value":8549}," containing ",{"type":13,"tag":21,"props":8551,"children":8553},{"className":8552},[],[8554],{"type":18,"value":8555},"VK_IMAGE_USAGE_STORAGE_BIT",{"type":18,"value":4608},{"type":13,"tag":4614,"props":8558,"children":8559},{},[8560,8564,8565,8571,8573,8579],{"type":13,"tag":4618,"props":8561,"children":8563},{"id":8562},"limits-maxSampleMaskWords",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8566,"children":8568},{"className":8567},[],[8569],{"type":18,"value":8570},"maxSampleMaskWords",{"type":18,"value":8572}," is the maximum\nnumber of array elements of a variable decorated with the\n",{"type":13,"tag":21,"props":8574,"children":8576},{"className":8575},[],[8577],{"type":18,"value":8578},"SampleMask",{"type":18,"value":8580}," built-in decoration.",{"type":13,"tag":4614,"props":8582,"children":8583},{},[8584,8588,8589,8595,8597,8603,8605,8611,8612,8618,8620,8626,8627,8633,8635,8640,8641,8647,8649,8655],{"type":13,"tag":4618,"props":8585,"children":8587},{"id":8586},"limits-timestampComputeAndGraphics",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8590,"children":8592},{"className":8591},[],[8593],{"type":18,"value":8594},"timestampComputeAndGraphics",{"type":18,"value":8596},"\nspecifies support for timestamps on all graphics and compute queues.\nIf this limit is set to ",{"type":13,"tag":21,"props":8598,"children":8600},{"className":8599},[],[8601],{"type":18,"value":8602},"VK_TRUE",{"type":18,"value":8604},", all queues that advertise the\n",{"type":13,"tag":21,"props":8606,"children":8608},{"className":8607},[],[8609],{"type":18,"value":8610},"VK_QUEUE_GRAPHICS_BIT",{"type":18,"value":4697},{"type":13,"tag":21,"props":8613,"children":8615},{"className":8614},[],[8616],{"type":18,"value":8617},"VK_QUEUE_COMPUTE_BIT",{"type":18,"value":8619}," in the\n",{"type":13,"tag":21,"props":8621,"children":8623},{"className":8622},[],[8624],{"type":18,"value":8625},"VkQueueFamilyProperties",{"type":18,"value":1885},{"type":13,"tag":21,"props":8628,"children":8630},{"className":8629},[],[8631],{"type":18,"value":8632},"queueFlags",{"type":18,"value":8634}," support\n",{"type":13,"tag":21,"props":8636,"children":8638},{"className":8637},[],[8639],{"type":18,"value":8625},{"type":18,"value":1885},{"type":13,"tag":21,"props":8642,"children":8644},{"className":8643},[],[8645],{"type":18,"value":8646},"timestampValidBits",{"type":18,"value":8648}," of at least 36.\nSee ",{"type":13,"tag":4593,"props":8650,"children":8652},{"href":8651},"/chapters/queries#queries-timestamps",[8653],{"type":18,"value":8654},"Timestamp Queries",{"type":18,"value":4608},{"type":13,"tag":4614,"props":8657,"children":8658},{},[8659,8663,8664,8670,8672,8675,8677,8681],{"type":13,"tag":4618,"props":8660,"children":8662},{"id":8661},"limits-timestampPeriod",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8665,"children":8667},{"className":8666},[],[8668],{"type":18,"value":8669},"timestampPeriod",{"type":18,"value":8671}," is the number of\nnanoseconds ",{"type":13,"tag":4657,"props":8673,"children":8674},{"type":7478},[],{"type":18,"value":8676}," for a timestamp query to be incremented by 1.\nSee ",{"type":13,"tag":4593,"props":8678,"children":8679},{"href":8651},[8680],{"type":18,"value":8654},{"type":18,"value":4608},{"type":13,"tag":4614,"props":8683,"children":8684},{},[8685,8689,8690,8696,8698,8701,8703,8709,8711,8714],{"type":13,"tag":4618,"props":8686,"children":8688},{"id":8687},"limits-maxClipDistances",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8691,"children":8693},{"className":8692},[],[8694],{"type":18,"value":8695},"maxClipDistances",{"type":18,"value":8697}," is the maximum number\nof clip distances that ",{"type":13,"tag":4657,"props":8699,"children":8700},{"type":4665},[],{"type":18,"value":8702}," be used in a single shader stage.\nThe size of any array declared with the ",{"type":13,"tag":21,"props":8704,"children":8706},{"className":8705},[],[8707],{"type":18,"value":8708},"ClipDistance",{"type":18,"value":8710}," built-in\ndecoration in a shader module ",{"type":13,"tag":4657,"props":8712,"children":8713},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8716,"children":8717},{},[8718,8722,8723,8729,8731,8734,8735,8741,8742,8745],{"type":13,"tag":4618,"props":8719,"children":8721},{"id":8720},"limits-maxCullDistances",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8724,"children":8726},{"className":8725},[],[8727],{"type":18,"value":8728},"maxCullDistances",{"type":18,"value":8730}," is the maximum number\nof cull distances that ",{"type":13,"tag":4657,"props":8732,"children":8733},{"type":4665},[],{"type":18,"value":8702},{"type":13,"tag":21,"props":8736,"children":8738},{"className":8737},[],[8739],{"type":18,"value":8740},"CullDistance",{"type":18,"value":8710},{"type":13,"tag":4657,"props":8743,"children":8744},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8747,"children":8748},{},[8749,8753,8759,8761,8764,8766,8771,8773,8778,8780,8783],{"type":13,"tag":4618,"props":8750,"children":8752},{"id":8751},"limits-maxCombinedClipAndCullDistances",[],{"type":13,"tag":21,"props":8754,"children":8756},{"className":8755},[],[8757],{"type":18,"value":8758},"maxCombinedClipAndCullDistances",{"type":18,"value":8760}," is the maximum combined number of\nclip and cull distances that ",{"type":13,"tag":4657,"props":8762,"children":8763},{"type":4665},[],{"type":18,"value":8765}," be used in a single shader stage.\nThe sum of the sizes of all arrays declared with the ",{"type":13,"tag":21,"props":8767,"children":8769},{"className":8768},[],[8770],{"type":18,"value":8708},{"type":18,"value":8772},"\nand ",{"type":13,"tag":21,"props":8774,"children":8776},{"className":8775},[],[8777],{"type":18,"value":8740},{"type":18,"value":8779}," built-in decoration used by a single shader stage\nin a shader module ",{"type":13,"tag":4657,"props":8781,"children":8782},{"type":5107},[],{"type":18,"value":7314},{"type":13,"tag":4614,"props":8785,"children":8786},{},[8787,8791,8792,8798,8800,8803,8805,8811,8812,8818,8820,8823,8825,8828,8830,8836],{"type":13,"tag":4618,"props":8788,"children":8790},{"id":8789},"limits-discreteQueuePriorities",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8793,"children":8795},{"className":8794},[],[8796],{"type":18,"value":8797},"discreteQueuePriorities",{"type":18,"value":8799}," is the\nnumber of discrete priorities that ",{"type":13,"tag":4657,"props":8801,"children":8802},{"type":4665},[],{"type":18,"value":8804}," be assigned to a queue based on\nthe value of each member of\n",{"type":13,"tag":4593,"props":8806,"children":8808},{"href":8807},"/man/VkDeviceQueueCreateInfo",[8809],{"type":18,"value":8810},"VkDeviceQueueCreateInfo",{"type":18,"value":1885},{"type":13,"tag":21,"props":8813,"children":8815},{"className":8814},[],[8816],{"type":18,"value":8817},"pQueuePriorities",{"type":18,"value":8819},".\nThis ",{"type":13,"tag":4657,"props":8821,"children":8822},{"type":5107},[],{"type":18,"value":8824}," be at least 2, and levels ",{"type":13,"tag":4657,"props":8826,"children":8827},{"type":5107},[],{"type":18,"value":8829}," be spread evenly over the\nrange, with at least one level at 1.0, and another at 0.0.\nSee ",{"type":13,"tag":4593,"props":8831,"children":8833},{"href":8832},"/chapters/devsandqueues#devsandqueues-priority",[8834],{"type":18,"value":8835},"Queue Priority",{"type":18,"value":4608},{"type":13,"tag":4614,"props":8838,"children":8839},{},[8840,8844,8845,8851,8853,8859,8861,8867,8869,8875],{"type":13,"tag":4618,"props":8841,"children":8843},{"id":8842},"limits-pointSizeRange",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8846,"children":8848},{"className":8847},[],[8849],{"type":18,"value":8850},"pointSizeRange",{"type":18,"value":8852},"[2] is the range\n[",{"type":13,"tag":21,"props":8854,"children":8856},{"className":8855},[],[8857],{"type":18,"value":8858},"minimum",{"type":18,"value":8860},",",{"type":13,"tag":21,"props":8862,"children":8864},{"className":8863},[],[8865],{"type":18,"value":8866},"maximum",{"type":18,"value":8868},"] of supported sizes for points.\nValues written to variables decorated with the ",{"type":13,"tag":21,"props":8870,"children":8872},{"className":8871},[],[8873],{"type":18,"value":8874},"PointSize",{"type":18,"value":8876}," built-in\ndecoration are clamped to this range.",{"type":13,"tag":4614,"props":8878,"children":8879},{},[8880,8884,8885,8891,8892,8897,8898,8903,8905,8911,8912,8918,8920,8925,8927,8933],{"type":13,"tag":4618,"props":8881,"children":8883},{"id":8882},"limits-lineWidthRange",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8886,"children":8888},{"className":8887},[],[8889],{"type":18,"value":8890},"lineWidthRange",{"type":18,"value":8852},{"type":13,"tag":21,"props":8893,"children":8895},{"className":8894},[],[8896],{"type":18,"value":8858},{"type":18,"value":8860},{"type":13,"tag":21,"props":8899,"children":8901},{"className":8900},[],[8902],{"type":18,"value":8866},{"type":18,"value":8904},"] of supported widths for lines.\nValues specified by the ",{"type":13,"tag":21,"props":8906,"children":8908},{"className":8907},[],[8909],{"type":18,"value":8910},"lineWidth",{"type":18,"value":4591},{"type":13,"tag":4593,"props":8913,"children":8915},{"href":8914},"/man/VkPipelineRasterizationStateCreateInfo",[8916],{"type":18,"value":8917},"VkPipelineRasterizationStateCreateInfo",{"type":18,"value":8919}," or the ",{"type":13,"tag":21,"props":8921,"children":8923},{"className":8922},[],[8924],{"type":18,"value":8910},{"type":18,"value":8926},"\nparameter to ",{"type":13,"tag":21,"props":8928,"children":8930},{"className":8929},[],[8931],{"type":18,"value":8932},"vkCmdSetLineWidth",{"type":18,"value":8934}," are clamped to this range.",{"type":13,"tag":4614,"props":8936,"children":8937},{},[8938,8942,8943,8949,8951,8956],{"type":13,"tag":4618,"props":8939,"children":8941},{"id":8940},"limits-pointSizeGranularity",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8944,"children":8946},{"className":8945},[],[8947],{"type":18,"value":8948},"pointSizeGranularity",{"type":18,"value":8950}," is the\ngranularity of supported point sizes.\nNot all point sizes in the range defined by ",{"type":13,"tag":21,"props":8952,"children":8954},{"className":8953},[],[8955],{"type":18,"value":8850},{"type":18,"value":8957}," are\nsupported.\nThis limit specifies the granularity (or increment) between successive\nsupported point sizes.",{"type":13,"tag":4614,"props":8959,"children":8960},{},[8961,8965,8966,8972,8974,8979],{"type":13,"tag":4618,"props":8962,"children":8964},{"id":8963},"limits-lineWidthGranularity",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8967,"children":8969},{"className":8968},[],[8970],{"type":18,"value":8971},"lineWidthGranularity",{"type":18,"value":8973}," is the\ngranularity of supported line widths.\nNot all line widths in the range defined by ",{"type":13,"tag":21,"props":8975,"children":8977},{"className":8976},[],[8978],{"type":18,"value":8890},{"type":18,"value":8980}," are\nsupported.\nThis limit specifies the granularity (or increment) between successive\nsupported line widths.",{"type":13,"tag":4614,"props":8982,"children":8983},{},[8984,8988,8989,8995,8997,9003,9005,9008,9010,9015,9017,9023],{"type":13,"tag":4618,"props":8985,"children":8987},{"id":8986},"limits-strictLines",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":8990,"children":8992},{"className":8991},[],[8993],{"type":18,"value":8994},"strictLines",{"type":18,"value":8996}," specifies whether lines are\nrasterized according to the preferred method of rasterization.\nIf set to ",{"type":13,"tag":21,"props":8998,"children":9000},{"className":8999},[],[9001],{"type":18,"value":9002},"VK_FALSE",{"type":18,"value":9004},", lines ",{"type":13,"tag":4657,"props":9006,"children":9007},{"type":4659},[],{"type":18,"value":9009}," be rasterized under a relaxed set\nof rules.\nIf set to ",{"type":13,"tag":21,"props":9011,"children":9013},{"className":9012},[],[9014],{"type":18,"value":8602},{"type":18,"value":9016},", lines are rasterized as per the strict\ndefinition.\nSee ",{"type":13,"tag":4593,"props":9018,"children":9020},{"href":9019},"/chapters/primsrast#primsrast-lines-basic",[9021],{"type":18,"value":9022},"Basic Line Segment Rasterization",{"type":18,"value":4608},{"type":13,"tag":4614,"props":9025,"children":9026},{},[9027,9031,9032,9038,9040,9046,9048,9053,9055,9060,9062,9065],{"type":13,"tag":4618,"props":9028,"children":9030},{"id":9029},"limits-standardSampleLocations",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":9033,"children":9035},{"className":9034},[],[9036],{"type":18,"value":9037},"standardSampleLocations",{"type":18,"value":9039},"\nspecifies whether rasterization uses the standard sample locations as\ndocumented in ",{"type":13,"tag":4593,"props":9041,"children":9043},{"href":9042},"/chapters/primsrast#primsrast-multisampling",[9044],{"type":18,"value":9045},"Multisampling",{"type":18,"value":9047},".\nIf set to ",{"type":13,"tag":21,"props":9049,"children":9051},{"className":9050},[],[9052],{"type":18,"value":8602},{"type":18,"value":9054},", the implementation uses the documented sample\nlocations.\nIf set to ",{"type":13,"tag":21,"props":9056,"children":9058},{"className":9057},[],[9059],{"type":18,"value":9002},{"type":18,"value":9061},", the implementation ",{"type":13,"tag":4657,"props":9063,"children":9064},{"type":4659},[],{"type":18,"value":9066}," use different sample\nlocations.",{"type":13,"tag":4614,"props":9068,"children":9069},{},[9070,9074,9080,9082,9088,9089,9095,9096,9102,9103,9109,9111,9117,9118,9124,9126,9130,9132,9135],{"type":13,"tag":4618,"props":9071,"children":9073},{"id":9072},"limits-optimalBufferCopyOffsetAlignment",[],{"type":13,"tag":21,"props":9075,"children":9077},{"className":9076},[],[9078],{"type":18,"value":9079},"optimalBufferCopyOffsetAlignment",{"type":18,"value":9081}," is the optimal buffer offset\nalignment in bytes for\n",{"type":13,"tag":4593,"props":9083,"children":9085},{"href":9084},"/man/vkCmdCopyBufferToImage2",[9086],{"type":18,"value":9087},"vkCmdCopyBufferToImage2",{"type":18,"value":1600},{"type":13,"tag":4593,"props":9090,"children":9092},{"href":9091},"/man/vkCmdCopyBufferToImage",[9093],{"type":18,"value":9094},"vkCmdCopyBufferToImage",{"type":18,"value":5594},{"type":13,"tag":4593,"props":9097,"children":9099},{"href":9098},"/man/vkCmdCopyImageToBuffer2",[9100],{"type":18,"value":9101},"vkCmdCopyImageToBuffer2",{"type":18,"value":7017},{"type":13,"tag":4593,"props":9104,"children":9106},{"href":9105},"/man/vkCmdCopyImageToBuffer",[9107],{"type":18,"value":9108},"vkCmdCopyImageToBuffer",{"type":18,"value":9110},".\nThis value is also the optimal host memory offset alignment in bytes for\n",{"type":13,"tag":4593,"props":9112,"children":9114},{"href":9113},"/man/vkCopyMemoryToImageEXT",[9115],{"type":18,"value":9116},"vkCopyMemoryToImageEXT",{"type":18,"value":5244},{"type":13,"tag":4593,"props":9119,"children":9121},{"href":9120},"/man/vkCopyImageToMemoryEXT",[9122],{"type":18,"value":9123},"vkCopyImageToMemoryEXT",{"type":18,"value":9125},".\nThe per texel alignment requirements are enforced, but applications\n",{"type":13,"tag":4657,"props":9127,"children":9129},{"type":9128},"should",[],{"type":18,"value":9131}," use the optimal alignment for optimal performance and power use.\nThe value ",{"type":13,"tag":4657,"props":9133,"children":9134},{"type":5107},[],{"type":18,"value":7509},{"type":13,"tag":4614,"props":9137,"children":9138},{},[9139,9143,9149,9151,9155,9156,9160,9161,9165,9166,9170,9172,9176,9177,9181,9183,9186,9187,9190],{"type":13,"tag":4618,"props":9140,"children":9142},{"id":9141},"limits-optimalBufferCopyRowPitchAlignment",[],{"type":13,"tag":21,"props":9144,"children":9146},{"className":9145},[],[9147],{"type":18,"value":9148},"optimalBufferCopyRowPitchAlignment",{"type":18,"value":9150}," is the optimal buffer row pitch\nalignment in bytes for\n",{"type":13,"tag":4593,"props":9152,"children":9153},{"href":9084},[9154],{"type":18,"value":9087},{"type":18,"value":1600},{"type":13,"tag":4593,"props":9157,"children":9158},{"href":9091},[9159],{"type":18,"value":9094},{"type":18,"value":5594},{"type":13,"tag":4593,"props":9162,"children":9163},{"href":9098},[9164],{"type":18,"value":9101},{"type":18,"value":7017},{"type":13,"tag":4593,"props":9167,"children":9168},{"href":9105},[9169],{"type":18,"value":9108},{"type":18,"value":9171},".\nThis value is also the optimal host memory row pitch alignment in bytes\nfor ",{"type":13,"tag":4593,"props":9173,"children":9174},{"href":9113},[9175],{"type":18,"value":9116},{"type":18,"value":5244},{"type":13,"tag":4593,"props":9178,"children":9179},{"href":9120},[9180],{"type":18,"value":9123},{"type":18,"value":9182},".\nRow pitch is the number of bytes between texels with the same X\ncoordinate in adjacent rows (Y coordinates differ by one).\nThe per texel alignment requirements are enforced, but applications\n",{"type":13,"tag":4657,"props":9184,"children":9185},{"type":9128},[],{"type":18,"value":9131},{"type":13,"tag":4657,"props":9188,"children":9189},{"type":5107},[],{"type":18,"value":7509},{"type":13,"tag":4614,"props":9192,"children":9193},{},[9194,9198,9199,9205,9207,9212,9213,9216],{"type":13,"tag":4618,"props":9195,"children":9197},{"id":9196},"limits-nonCoherentAtomSize",[],{"type":18,"value":4623},{"type":13,"tag":21,"props":9200,"children":9202},{"className":9201},[],[9203],{"type":18,"value":9204},"nonCoherentAtomSize",{"type":18,"value":9206}," is the size and\nalignment in bytes that bounds concurrent access to\n",{"type":13,"tag":4593,"props":9208,"children":9209},{"href":7499},[9210],{"type":18,"value":9211},"host-mapped device memory",{"type":18,"value":7504},{"type":13,"tag":4657,"props":9214,"children":9215},{"type":5107},[],{"type":18,"value":7509},{"type":13,"tag":9218,"props":9219,"children":9222},"section",{"className":9220,"dataFootnotes":39},[9221],"footnotes",[9223,9231],{"type":13,"tag":9224,"props":9225,"children":9228},"h2",{"className":9226,"id":8151},[9227],"sr-only",[9229],{"type":18,"value":9230},"Footnotes",{"type":13,"tag":9232,"props":9233,"children":9234},"ol",{},[9235],{"type":13,"tag":4614,"props":9236,"children":9238},{"id":9237},"user-content-fn-1",[9239,9241,9245,9249,9252,9254,9257,9259,9262,9266,9269,9271,9274,9280,9283,9285,9294,9295,9306,9307,9318,9319,9331,9332,9344,9345,9357,9358,9370,9371,9383,9384],{"type":18,"value":9240},"For all bitmasks of",{"type":13,"tag":9242,"props":9243,"children":9244},"br",{},[],{"type":13,"tag":4593,"props":9246,"children":9247},{"href":8159},[9248],{"type":18,"value":8162},{"type":13,"tag":9242,"props":9250,"children":9251},{},[],{"type":18,"value":9253},", the sample count limits\ndefined above represent the minimum supported sample counts for each\nimage type.\nIndividual images ",{"type":13,"tag":4657,"props":9255,"children":9256},{"type":4659},[],{"type":18,"value":9258}," support additional sample counts, which are\nqueried using",{"type":13,"tag":9242,"props":9260,"children":9261},{},[],{"type":13,"tag":4593,"props":9263,"children":9264},{"href":4671},[9265],{"type":18,"value":4674},{"type":13,"tag":9242,"props":9267,"children":9268},{},[],{"type":18,"value":9270},"as\ndescribed in",{"type":13,"tag":9242,"props":9272,"children":9273},{},[],{"type":13,"tag":4593,"props":9275,"children":9277},{"href":9276},"/chapters/capabilities#features-supported-sample-counts",[9278],{"type":18,"value":9279},"Supported Sample\nCounts",{"type":13,"tag":9242,"props":9281,"children":9282},{},[],{"type":18,"value":9284},". ",{"type":13,"tag":4593,"props":9286,"children":9291},{"href":9287,"ariaLabel":9288,"className":9289,"dataFootnoteBackref":39},"#user-content-fnref-1","Back to reference 1",[9290],"data-footnote-backref",[9292],{"type":18,"value":9293},"↩",{"type":18,"value":4623},{"type":13,"tag":4593,"props":9296,"children":9300},{"href":9297,"ariaLabel":9298,"className":9299,"dataFootnoteBackref":39},"#user-content-fnref-1-2","Back to reference 1-2",[9290],[9301,9302],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9303,"children":9304},{},[9305],{"type":18,"value":1012},{"type":18,"value":4623},{"type":13,"tag":4593,"props":9308,"children":9312},{"href":9309,"ariaLabel":9310,"className":9311,"dataFootnoteBackref":39},"#user-content-fnref-1-3","Back to reference 1-3",[9290],[9313,9314],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9315,"children":9316},{},[9317],{"type":18,"value":842},{"type":18,"value":4623},{"type":13,"tag":4593,"props":9320,"children":9324},{"href":9321,"ariaLabel":9322,"className":9323,"dataFootnoteBackref":39},"#user-content-fnref-1-4","Back to reference 1-4",[9290],[9325,9326],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9327,"children":9328},{},[9329],{"type":18,"value":9330},"4",{"type":18,"value":4623},{"type":13,"tag":4593,"props":9333,"children":9337},{"href":9334,"ariaLabel":9335,"className":9336,"dataFootnoteBackref":39},"#user-content-fnref-1-5","Back to reference 1-5",[9290],[9338,9339],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9340,"children":9341},{},[9342],{"type":18,"value":9343},"5",{"type":18,"value":4623},{"type":13,"tag":4593,"props":9346,"children":9350},{"href":9347,"ariaLabel":9348,"className":9349,"dataFootnoteBackref":39},"#user-content-fnref-1-6","Back to reference 1-6",[9290],[9351,9352],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9353,"children":9354},{},[9355],{"type":18,"value":9356},"6",{"type":18,"value":4623},{"type":13,"tag":4593,"props":9359,"children":9363},{"href":9360,"ariaLabel":9361,"className":9362,"dataFootnoteBackref":39},"#user-content-fnref-1-7","Back to reference 1-7",[9290],[9364,9365],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9366,"children":9367},{},[9368],{"type":18,"value":9369},"7",{"type":18,"value":4623},{"type":13,"tag":4593,"props":9372,"children":9376},{"href":9373,"ariaLabel":9374,"className":9375,"dataFootnoteBackref":39},"#user-content-fnref-1-8","Back to reference 1-8",[9290],[9377,9378],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9379,"children":9380},{},[9381],{"type":18,"value":9382},"8",{"type":18,"value":4623},{"type":13,"tag":4593,"props":9385,"children":9389},{"href":9386,"ariaLabel":9387,"className":9388,"dataFootnoteBackref":39},"#user-content-fnref-1-9","Back to reference 1-9",[9290],[9390,9391],{"type":18,"value":9293},{"type":13,"tag":8144,"props":9392,"children":9393},{},[9394],{"type":18,"value":9395},"9",{"type":13,"tag":9397,"props":9398,"children":9399},"style",{},[9400],{"type":18,"value":9401},"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":9403},[9404],{"id":8151,"depth":69,"text":9230},"markdown",1725732570259]