[{"data":1,"prerenderedAt":336},["ShallowReactive",2],{"QfWEZ9DZbS":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":10,"_type":335,"_id":4},"VK_DEFINE_NON_DISPATCHABLE_HANDLE","Declare a non-dispatchable object handle","VK_VERSION_1_0","defines",[9],"VkBuffer",{"type":11,"children":12,"toc":333},"root",[13,36,231,246,258,327],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,25,27,34],{"type":14,"tag":19,"props":20,"children":22},"code",{"className":21},[],[23],{"type":24,"value":4},"text",{"type":24,"value":26}," defines a\n",{"type":14,"tag":28,"props":29,"children":31},"a",{"href":30},"/chapters/fundamentals#fundamentals-objectmodel-overview",[32],{"type":24,"value":33},"non-dispatchable handle",{"type":24,"value":35}," type.",{"type":14,"tag":37,"props":38,"children":43},"pre",{"className":39,"code":40,"language":41,"meta":42,"style":42},"language-c shiki shiki-themes github-light-default github-dark-default","\n#ifndef VK_DEFINE_NON_DISPATCHABLE_HANDLE\n #if (VK_USE_64_BIT_PTR_DEFINES==1)\n #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;\n #else\n #define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;\n #endif\n#endif\n","c","",[44],{"type":14,"tag":19,"props":45,"children":46},{"__ignoreMap":42},[47,59,75,111,166,175,213,222],{"type":14,"tag":48,"props":49,"children":52},"span",{"class":50,"line":51},"line",1,[53],{"type":14,"tag":48,"props":54,"children":56},{"emptyLinePlaceholder":55},true,[57],{"type":24,"value":58},"\n",{"type":14,"tag":48,"props":60,"children":62},{"class":50,"line":61},2,[63,69],{"type":14,"tag":48,"props":64,"children":66},{"style":65},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[67],{"type":24,"value":68},"#ifndef",{"type":14,"tag":48,"props":70,"children":72},{"style":71},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[73],{"type":24,"value":74}," VK_DEFINE_NON_DISPATCHABLE_HANDLE\n",{"type":14,"tag":48,"props":76,"children":78},{"class":50,"line":77},3,[79,84,90,95,100,106],{"type":14,"tag":48,"props":80,"children":81},{"style":65},[82],{"type":24,"value":83}," #if",{"type":14,"tag":48,"props":85,"children":87},{"style":86},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[88],{"type":24,"value":89}," (",{"type":14,"tag":48,"props":91,"children":92},{"style":71},[93],{"type":24,"value":94},"VK_USE_64_BIT_PTR_DEFINES",{"type":14,"tag":48,"props":96,"children":97},{"style":65},[98],{"type":24,"value":99},"==",{"type":14,"tag":48,"props":101,"children":103},{"style":102},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[104],{"type":24,"value":105},"1",{"type":14,"tag":48,"props":107,"children":108},{"style":86},[109],{"type":24,"value":110},")\n",{"type":14,"tag":48,"props":112,"children":114},{"class":50,"line":113},4,[115,120,125,130,136,141,146,151,156,161],{"type":14,"tag":48,"props":116,"children":117},{"style":65},[118],{"type":24,"value":119}," #define",{"type":14,"tag":48,"props":121,"children":122},{"style":71},[123],{"type":24,"value":124}," VK_DEFINE_NON_DISPATCHABLE_HANDLE",{"type":14,"tag":48,"props":126,"children":127},{"style":86},[128],{"type":24,"value":129},"(",{"type":14,"tag":48,"props":131,"children":133},{"style":132},"--shiki-default:#953800;--shiki-dark:#FFA657",[134],{"type":24,"value":135},"object",{"type":14,"tag":48,"props":137,"children":138},{"style":86},[139],{"type":24,"value":140},") ",{"type":14,"tag":48,"props":142,"children":143},{"style":65},[144],{"type":24,"value":145},"typedef",{"type":14,"tag":48,"props":147,"children":148},{"style":65},[149],{"type":24,"value":150}," struct",{"type":14,"tag":48,"props":152,"children":153},{"style":86},[154],{"type":24,"value":155}," object##_T ",{"type":14,"tag":48,"props":157,"children":158},{"style":65},[159],{"type":24,"value":160},"*",{"type":14,"tag":48,"props":162,"children":163},{"style":86},[164],{"type":24,"value":165},"object;\n",{"type":14,"tag":48,"props":167,"children":169},{"class":50,"line":168},5,[170],{"type":14,"tag":48,"props":171,"children":172},{"style":65},[173],{"type":24,"value":174}," #else\n",{"type":14,"tag":48,"props":176,"children":178},{"class":50,"line":177},6,[179,183,187,191,195,199,203,208],{"type":14,"tag":48,"props":180,"children":181},{"style":65},[182],{"type":24,"value":119},{"type":14,"tag":48,"props":184,"children":185},{"style":71},[186],{"type":24,"value":124},{"type":14,"tag":48,"props":188,"children":189},{"style":86},[190],{"type":24,"value":129},{"type":14,"tag":48,"props":192,"children":193},{"style":132},[194],{"type":24,"value":135},{"type":14,"tag":48,"props":196,"children":197},{"style":86},[198],{"type":24,"value":140},{"type":14,"tag":48,"props":200,"children":201},{"style":65},[202],{"type":24,"value":145},{"type":14,"tag":48,"props":204,"children":205},{"style":65},[206],{"type":24,"value":207}," uint64_t",{"type":14,"tag":48,"props":209,"children":210},{"style":86},[211],{"type":24,"value":212}," object;\n",{"type":14,"tag":48,"props":214,"children":216},{"class":50,"line":215},7,[217],{"type":14,"tag":48,"props":218,"children":219},{"style":65},[220],{"type":24,"value":221}," #endif\n",{"type":14,"tag":48,"props":223,"children":225},{"class":50,"line":224},8,[226],{"type":14,"tag":48,"props":227,"children":228},{"style":65},[229],{"type":24,"value":230},"#endif\n",{"type":14,"tag":232,"props":233,"children":234},"ul",{},[235],{"type":14,"tag":236,"props":237,"children":238},"li",{},[239,244],{"type":14,"tag":19,"props":240,"children":242},{"className":241},[],[243],{"type":24,"value":135},{"type":24,"value":245}," is the name of the resulting C type.",{"type":14,"tag":15,"props":247,"children":248},{},[249,251,256],{"type":24,"value":250},"Most Vulkan handle types, such as ",{"type":14,"tag":28,"props":252,"children":254},{"href":253},"/man/VkBuffer",[255],{"type":24,"value":9},{"type":24,"value":257},", are non-dispatchable.",{"type":14,"tag":259,"props":260,"children":261},"note",{},[262],{"type":14,"tag":15,"props":263,"children":264},{},[265,267,273,275,280,282,288,290,294,296,301,303,307,308,312,314,319,321,325],{"type":24,"value":266},"The ",{"type":14,"tag":19,"props":268,"children":270},{"className":269},[],[271],{"type":24,"value":272},"vulkan_core.h",{"type":24,"value":274}," header allows the\n",{"type":14,"tag":28,"props":276,"children":278},{"href":277},"/man/VK_DEFINE_NON_DISPATCHABLE_HANDLE",[279],{"type":24,"value":4},{"type":24,"value":281}," and ",{"type":14,"tag":28,"props":283,"children":285},{"href":284},"/man/VK_NULL_HANDLE",[286],{"type":24,"value":287},"VK_NULL_HANDLE",{"type":24,"value":289}," definitions\nto be overridden by the application.\nIf ",{"type":14,"tag":28,"props":291,"children":292},{"href":277},[293],{"type":24,"value":4},{"type":24,"value":295}," is already defined when\n",{"type":14,"tag":19,"props":297,"children":299},{"className":298},[],[300],{"type":24,"value":272},{"type":24,"value":302}," is compiled, the default definitions for\n",{"type":14,"tag":28,"props":304,"children":305},{"href":277},[306],{"type":24,"value":4},{"type":24,"value":281},{"type":14,"tag":28,"props":309,"children":310},{"href":284},[311],{"type":24,"value":287},{"type":24,"value":313}," are\nskipped.\nThis allows the application to define a binary-compatible custom handle\nwhich ",{"type":14,"tag":315,"props":316,"children":318},"normative",{"type":317},"may",[],{"type":24,"value":320}," provide more type-safety or other features needed by the\napplication.\nApplications ",{"type":14,"tag":315,"props":322,"children":324},{"type":323},"must",[],{"type":24,"value":326}," not define handles in a way that is not binary compatible\n- where binary compatibility is platform dependent.",{"type":14,"tag":328,"props":329,"children":330},"style",{},[331],{"type":24,"value":332},"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":42,"searchDepth":61,"depth":61,"links":334},[],"markdown",1725732535096]