// todo: confirm existence of this file

#pragma once

#include <nvn/nvn.h>

#ifdef __cplusplus
extern "C" {
#endif

// todo: figure out where to put this
PFNNVNGENERICFUNCPTRPROC nvnBootstrapLoader(const char*);

extern PFNNVNDEVICEBUILDERSETDEFAULTSPROC pfnc_nvnDeviceBuilderSetDefaults;
extern PFNNVNDEVICEBUILDERSETFLAGSPROC pfnc_nvnDeviceBuilderSetFlags;
extern PFNNVNDEVICEINITIALIZEPROC pfnc_nvnDeviceInitialize;
extern PFNNVNDEVICEFINALIZEPROC pfnc_nvnDeviceFinalize;
extern PFNNVNDEVICESETDEBUGLABELPROC pfnc_nvnDeviceSetDebugLabel;
extern PFNNVNDEVICEGETPROCADDRESSPROC pfnc_nvnDeviceGetProcAddress;
extern PFNNVNDEVICEGETINTEGERPROC pfnc_nvnDeviceGetInteger;
extern PFNNVNDEVICEGETCURRENTTIMESTAMPINNANOSECONDSPROC
    pfnc_nvnDeviceGetCurrentTimestampInNanoseconds;
extern PFNNVNDEVICESETINTERMEDIATESHADERCACHEPROC pfnc_nvnDeviceSetIntermediateShaderCache;
extern PFNNVNDEVICEGETTEXTUREHANDLEPROC pfnc_nvnDeviceGetTextureHandle;
extern PFNNVNDEVICEGETTEXELFETCHHANDLEPROC pfnc_nvnDeviceGetTexelFetchHandle;
extern PFNNVNDEVICEGETIMAGEHANDLEPROC pfnc_nvnDeviceGetImageHandle;
extern PFNNVNDEVICEINSTALLDEBUGCALLBACKPROC pfnc_nvnDeviceInstallDebugCallback;
extern PFNNVNDEVICEGENERATEDEBUGDOMAINIDPROC pfnc_nvnDeviceGenerateDebugDomainId;
extern PFNNVNDEVICESETWINDOWORIGINMODEPROC pfnc_nvnDeviceSetWindowOriginMode;
extern PFNNVNDEVICESETDEPTHMODEPROC pfnc_nvnDeviceSetDepthMode;
extern PFNNVNDEVICEREGISTERFASTCLEARCOLORPROC pfnc_nvnDeviceRegisterFastClearColor;
extern PFNNVNDEVICEREGISTERFASTCLEARCOLORIPROC pfnc_nvnDeviceRegisterFastClearColori;
extern PFNNVNDEVICEREGISTERFASTCLEARCOLORUIPROC pfnc_nvnDeviceRegisterFastClearColorui;
extern PFNNVNDEVICEREGISTERFASTCLEARDEPTHPROC pfnc_nvnDeviceRegisterFastClearDepth;
extern PFNNVNDEVICEGETWINDOWORIGINMODEPROC pfnc_nvnDeviceGetWindowOriginMode;
extern PFNNVNDEVICEGETDEPTHMODEPROC pfnc_nvnDeviceGetDepthMode;
extern PFNNVNDEVICEGETTIMESTAMPINNANOSECONDSPROC pfnc_nvnDeviceGetTimestampInNanoseconds;
extern PFNNVNDEVICEAPPLYDEFERREDFINALIZESPROC pfnc_nvnDeviceApplyDeferredFinalizes;
extern PFNNVNDEVICEFINALIZECOMMANDHANDLEPROC pfnc_nvnDeviceFinalizeCommandHandle;
extern PFNNVNDEVICEWALKDEBUGDATABASEPROC pfnc_nvnDeviceWalkDebugDatabase;
extern PFNNVNDEVICEGETSEPARATETEXTUREHANDLEPROC pfnc_nvnDeviceGetSeparateTextureHandle;
extern PFNNVNDEVICEGETSEPARATESAMPLERHANDLEPROC pfnc_nvnDeviceGetSeparateSamplerHandle;
extern PFNNVNDEVICEISEXTERNALDEBUGGERATTACHEDPROC pfnc_nvnDeviceIsExternalDebuggerAttached;
extern PFNNVNQUEUEGETERRORPROC pfnc_nvnQueueGetError;
extern PFNNVNQUEUEGETTOTALCOMMANDMEMORYUSEDPROC pfnc_nvnQueueGetTotalCommandMemoryUsed;
extern PFNNVNQUEUEGETTOTALCONTROLMEMORYUSEDPROC pfnc_nvnQueueGetTotalControlMemoryUsed;
extern PFNNVNQUEUEGETTOTALCOMPUTEMEMORYUSEDPROC pfnc_nvnQueueGetTotalComputeMemoryUsed;
extern PFNNVNQUEUERESETMEMORYUSAGECOUNTSPROC pfnc_nvnQueueResetMemoryUsageCounts;
extern PFNNVNQUEUEBUILDERSETDEVICEPROC pfnc_nvnQueueBuilderSetDevice;
extern PFNNVNQUEUEBUILDERSETDEFAULTSPROC pfnc_nvnQueueBuilderSetDefaults;
extern PFNNVNQUEUEBUILDERSETFLAGSPROC pfnc_nvnQueueBuilderSetFlags;
extern PFNNVNQUEUEBUILDERSETCOMMANDMEMORYSIZEPROC pfnc_nvnQueueBuilderSetCommandMemorySize;
extern PFNNVNQUEUEBUILDERSETCOMPUTEMEMORYSIZEPROC pfnc_nvnQueueBuilderSetComputeMemorySize;
extern PFNNVNQUEUEBUILDERSETCONTROLMEMORYSIZEPROC pfnc_nvnQueueBuilderSetControlMemorySize;
extern PFNNVNQUEUEBUILDERGETQUEUEMEMORYSIZEPROC pfnc_nvnQueueBuilderGetQueueMemorySize;
extern PFNNVNQUEUEBUILDERSETQUEUEMEMORYPROC pfnc_nvnQueueBuilderSetQueueMemory;
extern PFNNVNQUEUEBUILDERSETCOMMANDFLUSHTHRESHOLDPROC pfnc_nvnQueueBuilderSetCommandFlushThreshold;
extern PFNNVNQUEUEINITIALIZEPROC pfnc_nvnQueueInitialize;
extern PFNNVNQUEUEFINALIZEPROC pfnc_nvnQueueFinalize;
extern PFNNVNQUEUESETDEBUGLABELPROC pfnc_nvnQueueSetDebugLabel;
extern PFNNVNQUEUESUBMITCOMMANDSPROC pfnc_nvnQueueSubmitCommands;
extern PFNNVNQUEUEFLUSHPROC pfnc_nvnQueueFlush;
extern PFNNVNQUEUEFINISHPROC pfnc_nvnQueueFinish;
extern PFNNVNQUEUEPRESENTTEXTUREPROC pfnc_nvnQueuePresentTexture;
extern PFNNVNQUEUEACQUIRETEXTUREPROC pfnc_nvnQueueAcquireTexture;
extern PFNNVNWINDOWBUILDERSETDEVICEPROC pfnc_nvnWindowBuilderSetDevice;
extern PFNNVNWINDOWBUILDERSETDEFAULTSPROC pfnc_nvnWindowBuilderSetDefaults;
extern PFNNVNWINDOWBUILDERSETNATIVEWINDOWPROC pfnc_nvnWindowBuilderSetNativeWindow;
extern PFNNVNWINDOWBUILDERSETTEXTURESPROC pfnc_nvnWindowBuilderSetTextures;
extern PFNNVNWINDOWBUILDERSETPRESENTINTERVALPROC pfnc_nvnWindowBuilderSetPresentInterval;
extern PFNNVNWINDOWBUILDERGETNATIVEWINDOWPROC pfnc_nvnWindowBuilderGetNativeWindow;
extern PFNNVNWINDOWBUILDERGETPRESENTINTERVALPROC pfnc_nvnWindowBuilderGetPresentInterval;
extern PFNNVNWINDOWINITIALIZEPROC pfnc_nvnWindowInitialize;
extern PFNNVNWINDOWFINALIZEPROC pfnc_nvnWindowFinalize;
extern PFNNVNWINDOWSETDEBUGLABELPROC pfnc_nvnWindowSetDebugLabel;
extern PFNNVNWINDOWACQUIRETEXTUREPROC pfnc_nvnWindowAcquireTexture;
extern PFNNVNWINDOWGETNATIVEWINDOWPROC pfnc_nvnWindowGetNativeWindow;
extern PFNNVNWINDOWGETPRESENTINTERVALPROC pfnc_nvnWindowGetPresentInterval;
extern PFNNVNWINDOWSETPRESENTINTERVALPROC pfnc_nvnWindowSetPresentInterval;
extern PFNNVNWINDOWSETCROPPROC pfnc_nvnWindowSetCrop;
extern PFNNVNWINDOWGETCROPPROC pfnc_nvnWindowGetCrop;
extern PFNNVNPROGRAMINITIALIZEPROC pfnc_nvnProgramInitialize;
extern PFNNVNPROGRAMFINALIZEPROC pfnc_nvnProgramFinalize;
extern PFNNVNPROGRAMSETDEBUGLABELPROC pfnc_nvnProgramSetDebugLabel;
extern PFNNVNPROGRAMSETSHADERSPROC pfnc_nvnProgramSetShaders;
extern PFNNVNMEMORYPOOLBUILDERSETDEVICEPROC pfnc_nvnMemoryPoolBuilderSetDevice;
extern PFNNVNMEMORYPOOLBUILDERSETDEFAULTSPROC pfnc_nvnMemoryPoolBuilderSetDefaults;
extern PFNNVNMEMORYPOOLBUILDERSETSTORAGEPROC pfnc_nvnMemoryPoolBuilderSetStorage;
extern PFNNVNMEMORYPOOLBUILDERSETFLAGSPROC pfnc_nvnMemoryPoolBuilderSetFlags;
extern PFNNVNMEMORYPOOLBUILDERGETMEMORYPROC pfnc_nvnMemoryPoolBuilderGetMemory;
extern PFNNVNMEMORYPOOLBUILDERGETSIZEPROC pfnc_nvnMemoryPoolBuilderGetSize;
extern PFNNVNMEMORYPOOLBUILDERGETFLAGSPROC pfnc_nvnMemoryPoolBuilderGetFlags;
extern PFNNVNMEMORYPOOLINITIALIZEPROC pfnc_nvnMemoryPoolInitialize;
extern PFNNVNMEMORYPOOLSETDEBUGLABELPROC pfnc_nvnMemoryPoolSetDebugLabel;
extern PFNNVNMEMORYPOOLFINALIZEPROC pfnc_nvnMemoryPoolFinalize;
extern PFNNVNMEMORYPOOLMAPPROC pfnc_nvnMemoryPoolMap;
extern PFNNVNMEMORYPOOLFLUSHMAPPEDRANGEPROC pfnc_nvnMemoryPoolFlushMappedRange;
extern PFNNVNMEMORYPOOLINVALIDATEMAPPEDRANGEPROC pfnc_nvnMemoryPoolInvalidateMappedRange;
extern PFNNVNMEMORYPOOLGETBUFFERADDRESSPROC pfnc_nvnMemoryPoolGetBufferAddress;
extern PFNNVNMEMORYPOOLMAPVIRTUALPROC pfnc_nvnMemoryPoolMapVirtual;
extern PFNNVNMEMORYPOOLGETSIZEPROC pfnc_nvnMemoryPoolGetSize;
extern PFNNVNMEMORYPOOLGETFLAGSPROC pfnc_nvnMemoryPoolGetFlags;
extern PFNNVNTEXTUREPOOLINITIALIZEPROC pfnc_nvnTexturePoolInitialize;
extern PFNNVNTEXTUREPOOLSETDEBUGLABELPROC pfnc_nvnTexturePoolSetDebugLabel;
extern PFNNVNTEXTUREPOOLFINALIZEPROC pfnc_nvnTexturePoolFinalize;
extern PFNNVNTEXTUREPOOLREGISTERTEXTUREPROC pfnc_nvnTexturePoolRegisterTexture;
extern PFNNVNTEXTUREPOOLREGISTERIMAGEPROC pfnc_nvnTexturePoolRegisterImage;
extern PFNNVNTEXTUREPOOLGETMEMORYPOOLPROC pfnc_nvnTexturePoolGetMemoryPool;
extern PFNNVNTEXTUREPOOLGETMEMORYOFFSETPROC pfnc_nvnTexturePoolGetMemoryOffset;
extern PFNNVNTEXTUREPOOLGETSIZEPROC pfnc_nvnTexturePoolGetSize;
extern PFNNVNSAMPLERPOOLINITIALIZEPROC pfnc_nvnSamplerPoolInitialize;
extern PFNNVNSAMPLERPOOLSETDEBUGLABELPROC pfnc_nvnSamplerPoolSetDebugLabel;
extern PFNNVNSAMPLERPOOLFINALIZEPROC pfnc_nvnSamplerPoolFinalize;
extern PFNNVNSAMPLERPOOLREGISTERSAMPLERPROC pfnc_nvnSamplerPoolRegisterSampler;
extern PFNNVNSAMPLERPOOLREGISTERSAMPLERBUILDERPROC pfnc_nvnSamplerPoolRegisterSamplerBuilder;
extern PFNNVNSAMPLERPOOLGETMEMORYPOOLPROC pfnc_nvnSamplerPoolGetMemoryPool;
extern PFNNVNSAMPLERPOOLGETMEMORYOFFSETPROC pfnc_nvnSamplerPoolGetMemoryOffset;
extern PFNNVNSAMPLERPOOLGETSIZEPROC pfnc_nvnSamplerPoolGetSize;
extern PFNNVNBUFFERBUILDERSETDEVICEPROC pfnc_nvnBufferBuilderSetDevice;
extern PFNNVNBUFFERBUILDERSETDEFAULTSPROC pfnc_nvnBufferBuilderSetDefaults;
extern PFNNVNBUFFERBUILDERSETSTORAGEPROC pfnc_nvnBufferBuilderSetStorage;
extern PFNNVNBUFFERBUILDERGETMEMORYPOOLPROC pfnc_nvnBufferBuilderGetMemoryPool;
extern PFNNVNBUFFERBUILDERGETMEMORYOFFSETPROC pfnc_nvnBufferBuilderGetMemoryOffset;
extern PFNNVNBUFFERBUILDERGETSIZEPROC pfnc_nvnBufferBuilderGetSize;
extern PFNNVNBUFFERINITIALIZEPROC pfnc_nvnBufferInitialize;
extern PFNNVNBUFFERSETDEBUGLABELPROC pfnc_nvnBufferSetDebugLabel;
extern PFNNVNBUFFERFINALIZEPROC pfnc_nvnBufferFinalize;
extern PFNNVNBUFFERMAPPROC pfnc_nvnBufferMap;
extern PFNNVNBUFFERGETADDRESSPROC pfnc_nvnBufferGetAddress;
extern PFNNVNBUFFERFLUSHMAPPEDRANGEPROC pfnc_nvnBufferFlushMappedRange;
extern PFNNVNBUFFERINVALIDATEMAPPEDRANGEPROC pfnc_nvnBufferInvalidateMappedRange;
extern PFNNVNBUFFERGETMEMORYPOOLPROC pfnc_nvnBufferGetMemoryPool;
extern PFNNVNBUFFERGETMEMORYOFFSETPROC pfnc_nvnBufferGetMemoryOffset;
extern PFNNVNBUFFERGETSIZEPROC pfnc_nvnBufferGetSize;
extern PFNNVNBUFFERGETDEBUGIDPROC pfnc_nvnBufferGetDebugID;
extern PFNNVNTEXTUREBUILDERSETDEVICEPROC pfnc_nvnTextureBuilderSetDevice;
extern PFNNVNTEXTUREBUILDERSETDEFAULTSPROC pfnc_nvnTextureBuilderSetDefaults;
extern PFNNVNTEXTUREBUILDERSETFLAGSPROC pfnc_nvnTextureBuilderSetFlags;
extern PFNNVNTEXTUREBUILDERSETTARGETPROC pfnc_nvnTextureBuilderSetTarget;
extern PFNNVNTEXTUREBUILDERSETWIDTHPROC pfnc_nvnTextureBuilderSetWidth;
extern PFNNVNTEXTUREBUILDERSETHEIGHTPROC pfnc_nvnTextureBuilderSetHeight;
extern PFNNVNTEXTUREBUILDERSETDEPTHPROC pfnc_nvnTextureBuilderSetDepth;
extern PFNNVNTEXTUREBUILDERSETSIZE1DPROC pfnc_nvnTextureBuilderSetSize1D;
extern PFNNVNTEXTUREBUILDERSETSIZE2DPROC pfnc_nvnTextureBuilderSetSize2D;
extern PFNNVNTEXTUREBUILDERSETSIZE3DPROC pfnc_nvnTextureBuilderSetSize3D;
extern PFNNVNTEXTUREBUILDERSETLEVELSPROC pfnc_nvnTextureBuilderSetLevels;
extern PFNNVNTEXTUREBUILDERSETFORMATPROC pfnc_nvnTextureBuilderSetFormat;
extern PFNNVNTEXTUREBUILDERSETSAMPLESPROC pfnc_nvnTextureBuilderSetSamples;
extern PFNNVNTEXTUREBUILDERSETSWIZZLEPROC pfnc_nvnTextureBuilderSetSwizzle;
extern PFNNVNTEXTUREBUILDERSETDEPTHSTENCILMODEPROC pfnc_nvnTextureBuilderSetDepthStencilMode;
extern PFNNVNTEXTUREBUILDERGETSTORAGESIZEPROC pfnc_nvnTextureBuilderGetStorageSize;
extern PFNNVNTEXTUREBUILDERGETSTORAGEALIGNMENTPROC pfnc_nvnTextureBuilderGetStorageAlignment;
extern PFNNVNTEXTUREBUILDERSETSTORAGEPROC pfnc_nvnTextureBuilderSetStorage;
extern PFNNVNTEXTUREBUILDERSETPACKAGEDTEXTUREDATAPROC pfnc_nvnTextureBuilderSetPackagedTextureData;
extern PFNNVNTEXTUREBUILDERSETPACKAGEDTEXTURELAYOUTPROC
    pfnc_nvnTextureBuilderSetPackagedTextureLayout;
extern PFNNVNTEXTUREBUILDERSETSTRIDEPROC pfnc_nvnTextureBuilderSetStride;
extern PFNNVNTEXTUREBUILDERSETGLTEXTURENAMEPROC pfnc_nvnTextureBuilderSetGLTextureName;
extern PFNNVNTEXTUREBUILDERGETSTORAGECLASSPROC pfnc_nvnTextureBuilderGetStorageClass;
extern PFNNVNTEXTUREBUILDERGETFLAGSPROC pfnc_nvnTextureBuilderGetFlags;
extern PFNNVNTEXTUREBUILDERGETTARGETPROC pfnc_nvnTextureBuilderGetTarget;
extern PFNNVNTEXTUREBUILDERGETWIDTHPROC pfnc_nvnTextureBuilderGetWidth;
extern PFNNVNTEXTUREBUILDERGETHEIGHTPROC pfnc_nvnTextureBuilderGetHeight;
extern PFNNVNTEXTUREBUILDERGETDEPTHPROC pfnc_nvnTextureBuilderGetDepth;
extern PFNNVNTEXTUREBUILDERGETLEVELSPROC pfnc_nvnTextureBuilderGetLevels;
extern PFNNVNTEXTUREBUILDERGETFORMATPROC pfnc_nvnTextureBuilderGetFormat;
extern PFNNVNTEXTUREBUILDERGETSAMPLESPROC pfnc_nvnTextureBuilderGetSamples;
extern PFNNVNTEXTUREBUILDERGETSWIZZLEPROC pfnc_nvnTextureBuilderGetSwizzle;
extern PFNNVNTEXTUREBUILDERGETDEPTHSTENCILMODEPROC pfnc_nvnTextureBuilderGetDepthStencilMode;
extern PFNNVNTEXTUREBUILDERGETPACKAGEDTEXTUREDATAPROC pfnc_nvnTextureBuilderGetPackagedTextureData;
extern PFNNVNTEXTUREBUILDERGETSTRIDEPROC pfnc_nvnTextureBuilderGetStride;
extern PFNNVNTEXTUREBUILDERGETSPARSETILELAYOUTPROC pfnc_nvnTextureBuilderGetSparseTileLayout;
extern PFNNVNTEXTUREBUILDERGETGLTEXTURENAMEPROC pfnc_nvnTextureBuilderGetGLTextureName;
extern PFNNVNTEXTUREBUILDERGETZCULLSTORAGESIZEPROC pfnc_nvnTextureBuilderGetZCullStorageSize;
extern PFNNVNTEXTUREBUILDERGETMEMORYPOOLPROC pfnc_nvnTextureBuilderGetMemoryPool;
extern PFNNVNTEXTUREBUILDERGETMEMORYOFFSETPROC pfnc_nvnTextureBuilderGetMemoryOffset;
extern PFNNVNTEXTUREVIEWSETDEFAULTSPROC pfnc_nvnTextureViewSetDefaults;
extern PFNNVNTEXTUREVIEWSETLEVELSPROC pfnc_nvnTextureViewSetLevels;
extern PFNNVNTEXTUREVIEWSETLAYERSPROC pfnc_nvnTextureViewSetLayers;
extern PFNNVNTEXTUREVIEWSETFORMATPROC pfnc_nvnTextureViewSetFormat;
extern PFNNVNTEXTUREVIEWSETSWIZZLEPROC pfnc_nvnTextureViewSetSwizzle;
extern PFNNVNTEXTUREVIEWSETDEPTHSTENCILMODEPROC pfnc_nvnTextureViewSetDepthStencilMode;
extern PFNNVNTEXTUREVIEWSETTARGETPROC pfnc_nvnTextureViewSetTarget;
extern PFNNVNTEXTUREVIEWGETLEVELSPROC pfnc_nvnTextureViewGetLevels;
extern PFNNVNTEXTUREVIEWGETLAYERSPROC pfnc_nvnTextureViewGetLayers;
extern PFNNVNTEXTUREVIEWGETFORMATPROC pfnc_nvnTextureViewGetFormat;
extern PFNNVNTEXTUREVIEWGETSWIZZLEPROC pfnc_nvnTextureViewGetSwizzle;
extern PFNNVNTEXTUREVIEWGETDEPTHSTENCILMODEPROC pfnc_nvnTextureViewGetDepthStencilMode;
extern PFNNVNTEXTUREVIEWGETTARGETPROC pfnc_nvnTextureViewGetTarget;
extern PFNNVNTEXTUREVIEWCOMPAREPROC pfnc_nvnTextureViewCompare;
extern PFNNVNTEXTUREINITIALIZEPROC pfnc_nvnTextureInitialize;
extern PFNNVNTEXTUREGETZCULLSTORAGESIZEPROC pfnc_nvnTextureGetZCullStorageSize;
extern PFNNVNTEXTUREFINALIZEPROC pfnc_nvnTextureFinalize;
extern PFNNVNTEXTURESETDEBUGLABELPROC pfnc_nvnTextureSetDebugLabel;
extern PFNNVNTEXTUREGETSTORAGECLASSPROC pfnc_nvnTextureGetStorageClass;
extern PFNNVNTEXTUREGETVIEWOFFSETPROC pfnc_nvnTextureGetViewOffset;
extern PFNNVNTEXTUREGETFLAGSPROC pfnc_nvnTextureGetFlags;
extern PFNNVNTEXTUREGETTARGETPROC pfnc_nvnTextureGetTarget;
extern PFNNVNTEXTUREGETWIDTHPROC pfnc_nvnTextureGetWidth;
extern PFNNVNTEXTUREGETHEIGHTPROC pfnc_nvnTextureGetHeight;
extern PFNNVNTEXTUREGETDEPTHPROC pfnc_nvnTextureGetDepth;
extern PFNNVNTEXTUREGETLEVELSPROC pfnc_nvnTextureGetLevels;
extern PFNNVNTEXTUREGETFORMATPROC pfnc_nvnTextureGetFormat;
extern PFNNVNTEXTUREGETSAMPLESPROC pfnc_nvnTextureGetSamples;
extern PFNNVNTEXTUREGETSWIZZLEPROC pfnc_nvnTextureGetSwizzle;
extern PFNNVNTEXTUREGETDEPTHSTENCILMODEPROC pfnc_nvnTextureGetDepthStencilMode;
extern PFNNVNTEXTUREGETSTRIDEPROC pfnc_nvnTextureGetStride;
extern PFNNVNTEXTUREGETTEXTUREADDRESSPROC pfnc_nvnTextureGetTextureAddress;
extern PFNNVNTEXTUREGETSPARSETILELAYOUTPROC pfnc_nvnTextureGetSparseTileLayout;
extern PFNNVNTEXTUREWRITETEXELSPROC pfnc_nvnTextureWriteTexels;
extern PFNNVNTEXTUREWRITETEXELSSTRIDEDPROC pfnc_nvnTextureWriteTexelsStrided;
extern PFNNVNTEXTUREREADTEXELSPROC pfnc_nvnTextureReadTexels;
extern PFNNVNTEXTUREREADTEXELSSTRIDEDPROC pfnc_nvnTextureReadTexelsStrided;
extern PFNNVNTEXTUREFLUSHTEXELSPROC pfnc_nvnTextureFlushTexels;
extern PFNNVNTEXTUREINVALIDATETEXELSPROC pfnc_nvnTextureInvalidateTexels;
extern PFNNVNTEXTUREGETMEMORYPOOLPROC pfnc_nvnTextureGetMemoryPool;
extern PFNNVNTEXTUREGETMEMORYOFFSETPROC pfnc_nvnTextureGetMemoryOffset;
extern PFNNVNTEXTUREGETSTORAGESIZEPROC pfnc_nvnTextureGetStorageSize;
extern PFNNVNTEXTURECOMPAREPROC pfnc_nvnTextureCompare;
extern PFNNVNTEXTUREGETDEBUGIDPROC pfnc_nvnTextureGetDebugID;
extern PFNNVNSAMPLERBUILDERSETDEVICEPROC pfnc_nvnSamplerBuilderSetDevice;
extern PFNNVNSAMPLERBUILDERSETDEFAULTSPROC pfnc_nvnSamplerBuilderSetDefaults;
extern PFNNVNSAMPLERBUILDERSETMINMAGFILTERPROC pfnc_nvnSamplerBuilderSetMinMagFilter;
extern PFNNVNSAMPLERBUILDERSETWRAPMODEPROC pfnc_nvnSamplerBuilderSetWrapMode;
extern PFNNVNSAMPLERBUILDERSETLODCLAMPPROC pfnc_nvnSamplerBuilderSetLodClamp;
extern PFNNVNSAMPLERBUILDERSETLODBIASPROC pfnc_nvnSamplerBuilderSetLodBias;
extern PFNNVNSAMPLERBUILDERSETCOMPAREPROC pfnc_nvnSamplerBuilderSetCompare;
extern PFNNVNSAMPLERBUILDERSETBORDERCOLORPROC pfnc_nvnSamplerBuilderSetBorderColor;
extern PFNNVNSAMPLERBUILDERSETBORDERCOLORIPROC pfnc_nvnSamplerBuilderSetBorderColori;
extern PFNNVNSAMPLERBUILDERSETBORDERCOLORUIPROC pfnc_nvnSamplerBuilderSetBorderColorui;
extern PFNNVNSAMPLERBUILDERSETMAXANISOTROPYPROC pfnc_nvnSamplerBuilderSetMaxAnisotropy;
extern PFNNVNSAMPLERBUILDERSETREDUCTIONFILTERPROC pfnc_nvnSamplerBuilderSetReductionFilter;
extern PFNNVNSAMPLERBUILDERSETLODSNAPPROC pfnc_nvnSamplerBuilderSetLodSnap;
extern PFNNVNSAMPLERBUILDERGETMINMAGFILTERPROC pfnc_nvnSamplerBuilderGetMinMagFilter;
extern PFNNVNSAMPLERBUILDERGETWRAPMODEPROC pfnc_nvnSamplerBuilderGetWrapMode;
extern PFNNVNSAMPLERBUILDERGETLODCLAMPPROC pfnc_nvnSamplerBuilderGetLodClamp;
extern PFNNVNSAMPLERBUILDERGETLODBIASPROC pfnc_nvnSamplerBuilderGetLodBias;
extern PFNNVNSAMPLERBUILDERGETCOMPAREPROC pfnc_nvnSamplerBuilderGetCompare;
extern PFNNVNSAMPLERBUILDERGETBORDERCOLORPROC pfnc_nvnSamplerBuilderGetBorderColor;
extern PFNNVNSAMPLERBUILDERGETBORDERCOLORIPROC pfnc_nvnSamplerBuilderGetBorderColori;
extern PFNNVNSAMPLERBUILDERGETBORDERCOLORUIPROC pfnc_nvnSamplerBuilderGetBorderColorui;
extern PFNNVNSAMPLERBUILDERGETMAXANISOTROPYPROC pfnc_nvnSamplerBuilderGetMaxAnisotropy;
extern PFNNVNSAMPLERBUILDERGETREDUCTIONFILTERPROC pfnc_nvnSamplerBuilderGetReductionFilter;
extern PFNNVNSAMPLERBUILDERGETLODSNAPPROC pfnc_nvnSamplerBuilderGetLodSnap;
extern PFNNVNSAMPLERINITIALIZEPROC pfnc_nvnSamplerInitialize;
extern PFNNVNSAMPLERFINALIZEPROC pfnc_nvnSamplerFinalize;
extern PFNNVNSAMPLERSETDEBUGLABELPROC pfnc_nvnSamplerSetDebugLabel;
extern PFNNVNSAMPLERGETMINMAGFILTERPROC pfnc_nvnSamplerGetMinMagFilter;
extern PFNNVNSAMPLERGETWRAPMODEPROC pfnc_nvnSamplerGetWrapMode;
extern PFNNVNSAMPLERGETLODCLAMPPROC pfnc_nvnSamplerGetLodClamp;
extern PFNNVNSAMPLERGETLODBIASPROC pfnc_nvnSamplerGetLodBias;
extern PFNNVNSAMPLERGETCOMPAREPROC pfnc_nvnSamplerGetCompare;
extern PFNNVNSAMPLERGETBORDERCOLORPROC pfnc_nvnSamplerGetBorderColor;
extern PFNNVNSAMPLERGETBORDERCOLORIPROC pfnc_nvnSamplerGetBorderColori;
extern PFNNVNSAMPLERGETBORDERCOLORUIPROC pfnc_nvnSamplerGetBorderColorui;
extern PFNNVNSAMPLERGETMAXANISOTROPYPROC pfnc_nvnSamplerGetMaxAnisotropy;
extern PFNNVNSAMPLERGETREDUCTIONFILTERPROC pfnc_nvnSamplerGetReductionFilter;
extern PFNNVNSAMPLERCOMPAREPROC pfnc_nvnSamplerCompare;
extern PFNNVNSAMPLERGETDEBUGIDPROC pfnc_nvnSamplerGetDebugID;
extern PFNNVNBLENDSTATESETDEFAULTSPROC pfnc_nvnBlendStateSetDefaults;
extern PFNNVNBLENDSTATESETBLENDTARGETPROC pfnc_nvnBlendStateSetBlendTarget;
extern PFNNVNBLENDSTATESETBLENDFUNCPROC pfnc_nvnBlendStateSetBlendFunc;
extern PFNNVNBLENDSTATESETBLENDEQUATIONPROC pfnc_nvnBlendStateSetBlendEquation;
extern PFNNVNBLENDSTATESETADVANCEDMODEPROC pfnc_nvnBlendStateSetAdvancedMode;
extern PFNNVNBLENDSTATESETADVANCEDOVERLAPPROC pfnc_nvnBlendStateSetAdvancedOverlap;
extern PFNNVNBLENDSTATESETADVANCEDPREMULTIPLIEDSRCPROC
    pfnc_nvnBlendStateSetAdvancedPremultipliedSrc;
extern PFNNVNBLENDSTATESETADVANCEDNORMALIZEDDSTPROC pfnc_nvnBlendStateSetAdvancedNormalizedDst;
extern PFNNVNBLENDSTATEGETBLENDTARGETPROC pfnc_nvnBlendStateGetBlendTarget;
extern PFNNVNBLENDSTATEGETBLENDFUNCPROC pfnc_nvnBlendStateGetBlendFunc;
extern PFNNVNBLENDSTATEGETBLENDEQUATIONPROC pfnc_nvnBlendStateGetBlendEquation;
extern PFNNVNBLENDSTATEGETADVANCEDMODEPROC pfnc_nvnBlendStateGetAdvancedMode;
extern PFNNVNBLENDSTATEGETADVANCEDOVERLAPPROC pfnc_nvnBlendStateGetAdvancedOverlap;
extern PFNNVNBLENDSTATEGETADVANCEDPREMULTIPLIEDSRCPROC
    pfnc_nvnBlendStateGetAdvancedPremultipliedSrc;
extern PFNNVNBLENDSTATEGETADVANCEDNORMALIZEDDSTPROC pfnc_nvnBlendStateGetAdvancedNormalizedDst;
extern PFNNVNCOLORSTATESETDEFAULTSPROC pfnc_nvnColorStateSetDefaults;
extern PFNNVNCOLORSTATESETBLENDENABLEPROC pfnc_nvnColorStateSetBlendEnable;
extern PFNNVNCOLORSTATESETLOGICOPPROC pfnc_nvnColorStateSetLogicOp;
extern PFNNVNCOLORSTATESETALPHATESTPROC pfnc_nvnColorStateSetAlphaTest;
extern PFNNVNCOLORSTATEGETBLENDENABLEPROC pfnc_nvnColorStateGetBlendEnable;
extern PFNNVNCOLORSTATEGETLOGICOPPROC pfnc_nvnColorStateGetLogicOp;
extern PFNNVNCOLORSTATEGETALPHATESTPROC pfnc_nvnColorStateGetAlphaTest;
extern PFNNVNCHANNELMASKSTATESETDEFAULTSPROC pfnc_nvnChannelMaskStateSetDefaults;
extern PFNNVNCHANNELMASKSTATESETCHANNELMASKPROC pfnc_nvnChannelMaskStateSetChannelMask;
extern PFNNVNCHANNELMASKSTATEGETCHANNELMASKPROC pfnc_nvnChannelMaskStateGetChannelMask;
extern PFNNVNMULTISAMPLESTATESETDEFAULTSPROC pfnc_nvnMultisampleStateSetDefaults;
extern PFNNVNMULTISAMPLESTATESETMULTISAMPLEENABLEPROC pfnc_nvnMultisampleStateSetMultisampleEnable;
extern PFNNVNMULTISAMPLESTATESETSAMPLESPROC pfnc_nvnMultisampleStateSetSamples;
extern PFNNVNMULTISAMPLESTATESETALPHATOCOVERAGEENABLEPROC
    pfnc_nvnMultisampleStateSetAlphaToCoverageEnable;
extern PFNNVNMULTISAMPLESTATESETALPHATOCOVERAGEDITHERPROC
    pfnc_nvnMultisampleStateSetAlphaToCoverageDither;
extern PFNNVNMULTISAMPLESTATEGETMULTISAMPLEENABLEPROC pfnc_nvnMultisampleStateGetMultisampleEnable;
extern PFNNVNMULTISAMPLESTATEGETSAMPLESPROC pfnc_nvnMultisampleStateGetSamples;
extern PFNNVNMULTISAMPLESTATEGETALPHATOCOVERAGEENABLEPROC
    pfnc_nvnMultisampleStateGetAlphaToCoverageEnable;
extern PFNNVNMULTISAMPLESTATEGETALPHATOCOVERAGEDITHERPROC
    pfnc_nvnMultisampleStateGetAlphaToCoverageDither;
extern PFNNVNMULTISAMPLESTATESETRASTERSAMPLESPROC pfnc_nvnMultisampleStateSetRasterSamples;
extern PFNNVNMULTISAMPLESTATEGETRASTERSAMPLESPROC pfnc_nvnMultisampleStateGetRasterSamples;
extern PFNNVNMULTISAMPLESTATESETCOVERAGEMODULATIONMODEPROC
    pfnc_nvnMultisampleStateSetCoverageModulationMode;
extern PFNNVNMULTISAMPLESTATEGETCOVERAGEMODULATIONMODEPROC
    pfnc_nvnMultisampleStateGetCoverageModulationMode;
extern PFNNVNMULTISAMPLESTATESETCOVERAGETOCOLORENABLEPROC
    pfnc_nvnMultisampleStateSetCoverageToColorEnable;
extern PFNNVNMULTISAMPLESTATEGETCOVERAGETOCOLORENABLEPROC
    pfnc_nvnMultisampleStateGetCoverageToColorEnable;
extern PFNNVNMULTISAMPLESTATESETCOVERAGETOCOLOROUTPUTPROC
    pfnc_nvnMultisampleStateSetCoverageToColorOutput;
extern PFNNVNMULTISAMPLESTATEGETCOVERAGETOCOLOROUTPUTPROC
    pfnc_nvnMultisampleStateGetCoverageToColorOutput;
extern PFNNVNMULTISAMPLESTATESETSAMPLELOCATIONSENABLEPROC
    pfnc_nvnMultisampleStateSetSampleLocationsEnable;
extern PFNNVNMULTISAMPLESTATEGETSAMPLELOCATIONSENABLEPROC
    pfnc_nvnMultisampleStateGetSampleLocationsEnable;
extern PFNNVNMULTISAMPLESTATEGETSAMPLELOCATIONSGRIDPROC
    pfnc_nvnMultisampleStateGetSampleLocationsGrid;
extern PFNNVNMULTISAMPLESTATESETSAMPLELOCATIONSGRIDENABLEPROC
    pfnc_nvnMultisampleStateSetSampleLocationsGridEnable;
extern PFNNVNMULTISAMPLESTATEGETSAMPLELOCATIONSGRIDENABLEPROC
    pfnc_nvnMultisampleStateGetSampleLocationsGridEnable;
extern PFNNVNMULTISAMPLESTATESETSAMPLELOCATIONSPROC pfnc_nvnMultisampleStateSetSampleLocations;
extern PFNNVNPOLYGONSTATESETDEFAULTSPROC pfnc_nvnPolygonStateSetDefaults;
extern PFNNVNPOLYGONSTATESETCULLFACEPROC pfnc_nvnPolygonStateSetCullFace;
extern PFNNVNPOLYGONSTATESETFRONTFACEPROC pfnc_nvnPolygonStateSetFrontFace;
extern PFNNVNPOLYGONSTATESETPOLYGONMODEPROC pfnc_nvnPolygonStateSetPolygonMode;
extern PFNNVNPOLYGONSTATESETPOLYGONOFFSETENABLESPROC pfnc_nvnPolygonStateSetPolygonOffsetEnables;
extern PFNNVNPOLYGONSTATEGETCULLFACEPROC pfnc_nvnPolygonStateGetCullFace;
extern PFNNVNPOLYGONSTATEGETFRONTFACEPROC pfnc_nvnPolygonStateGetFrontFace;
extern PFNNVNPOLYGONSTATEGETPOLYGONMODEPROC pfnc_nvnPolygonStateGetPolygonMode;
extern PFNNVNPOLYGONSTATEGETPOLYGONOFFSETENABLESPROC pfnc_nvnPolygonStateGetPolygonOffsetEnables;
extern PFNNVNDEPTHSTENCILSTATESETDEFAULTSPROC pfnc_nvnDepthStencilStateSetDefaults;
extern PFNNVNDEPTHSTENCILSTATESETDEPTHTESTENABLEPROC pfnc_nvnDepthStencilStateSetDepthTestEnable;
extern PFNNVNDEPTHSTENCILSTATESETDEPTHWRITEENABLEPROC pfnc_nvnDepthStencilStateSetDepthWriteEnable;
extern PFNNVNDEPTHSTENCILSTATESETDEPTHFUNCPROC pfnc_nvnDepthStencilStateSetDepthFunc;
extern PFNNVNDEPTHSTENCILSTATESETSTENCILTESTENABLEPROC
    pfnc_nvnDepthStencilStateSetStencilTestEnable;
extern PFNNVNDEPTHSTENCILSTATESETSTENCILFUNCPROC pfnc_nvnDepthStencilStateSetStencilFunc;
extern PFNNVNDEPTHSTENCILSTATESETSTENCILOPPROC pfnc_nvnDepthStencilStateSetStencilOp;
extern PFNNVNDEPTHSTENCILSTATEGETDEPTHTESTENABLEPROC pfnc_nvnDepthStencilStateGetDepthTestEnable;
extern PFNNVNDEPTHSTENCILSTATEGETDEPTHWRITEENABLEPROC pfnc_nvnDepthStencilStateGetDepthWriteEnable;
extern PFNNVNDEPTHSTENCILSTATEGETDEPTHFUNCPROC pfnc_nvnDepthStencilStateGetDepthFunc;
extern PFNNVNDEPTHSTENCILSTATEGETSTENCILTESTENABLEPROC
    pfnc_nvnDepthStencilStateGetStencilTestEnable;
extern PFNNVNDEPTHSTENCILSTATEGETSTENCILFUNCPROC pfnc_nvnDepthStencilStateGetStencilFunc;
extern PFNNVNDEPTHSTENCILSTATEGETSTENCILOPPROC pfnc_nvnDepthStencilStateGetStencilOp;
extern PFNNVNVERTEXATTRIBSTATESETDEFAULTSPROC pfnc_nvnVertexAttribStateSetDefaults;
extern PFNNVNVERTEXATTRIBSTATESETFORMATPROC pfnc_nvnVertexAttribStateSetFormat;
extern PFNNVNVERTEXATTRIBSTATESETSTREAMINDEXPROC pfnc_nvnVertexAttribStateSetStreamIndex;
extern PFNNVNVERTEXATTRIBSTATEGETFORMATPROC pfnc_nvnVertexAttribStateGetFormat;
extern PFNNVNVERTEXATTRIBSTATEGETSTREAMINDEXPROC pfnc_nvnVertexAttribStateGetStreamIndex;
extern PFNNVNVERTEXSTREAMSTATESETDEFAULTSPROC pfnc_nvnVertexStreamStateSetDefaults;
extern PFNNVNVERTEXSTREAMSTATESETSTRIDEPROC pfnc_nvnVertexStreamStateSetStride;
extern PFNNVNVERTEXSTREAMSTATESETDIVISORPROC pfnc_nvnVertexStreamStateSetDivisor;
extern PFNNVNVERTEXSTREAMSTATEGETSTRIDEPROC pfnc_nvnVertexStreamStateGetStride;
extern PFNNVNVERTEXSTREAMSTATEGETDIVISORPROC pfnc_nvnVertexStreamStateGetDivisor;
extern PFNNVNCOMMANDBUFFERINITIALIZEPROC pfnc_nvnCommandBufferInitialize;
extern PFNNVNCOMMANDBUFFERFINALIZEPROC pfnc_nvnCommandBufferFinalize;
extern PFNNVNCOMMANDBUFFERSETDEBUGLABELPROC pfnc_nvnCommandBufferSetDebugLabel;
extern PFNNVNCOMMANDBUFFERSETMEMORYCALLBACKPROC pfnc_nvnCommandBufferSetMemoryCallback;
extern PFNNVNCOMMANDBUFFERSETMEMORYCALLBACKDATAPROC pfnc_nvnCommandBufferSetMemoryCallbackData;
extern PFNNVNCOMMANDBUFFERADDCOMMANDMEMORYPROC pfnc_nvnCommandBufferAddCommandMemory;
extern PFNNVNCOMMANDBUFFERADDCONTROLMEMORYPROC pfnc_nvnCommandBufferAddControlMemory;
extern PFNNVNCOMMANDBUFFERGETCOMMANDMEMORYSIZEPROC pfnc_nvnCommandBufferGetCommandMemorySize;
extern PFNNVNCOMMANDBUFFERGETCOMMANDMEMORYUSEDPROC pfnc_nvnCommandBufferGetCommandMemoryUsed;
extern PFNNVNCOMMANDBUFFERGETCOMMANDMEMORYFREEPROC pfnc_nvnCommandBufferGetCommandMemoryFree;
extern PFNNVNCOMMANDBUFFERGETCONTROLMEMORYSIZEPROC pfnc_nvnCommandBufferGetControlMemorySize;
extern PFNNVNCOMMANDBUFFERGETCONTROLMEMORYUSEDPROC pfnc_nvnCommandBufferGetControlMemoryUsed;
extern PFNNVNCOMMANDBUFFERGETCONTROLMEMORYFREEPROC pfnc_nvnCommandBufferGetControlMemoryFree;
extern PFNNVNCOMMANDBUFFERBEGINRECORDINGPROC pfnc_nvnCommandBufferBeginRecording;
extern PFNNVNCOMMANDBUFFERENDRECORDINGPROC pfnc_nvnCommandBufferEndRecording;
extern PFNNVNCOMMANDBUFFERCALLCOMMANDSPROC pfnc_nvnCommandBufferCallCommands;
extern PFNNVNCOMMANDBUFFERCOPYCOMMANDSPROC pfnc_nvnCommandBufferCopyCommands;
extern PFNNVNCOMMANDBUFFERBINDBLENDSTATEPROC pfnc_nvnCommandBufferBindBlendState;
extern PFNNVNCOMMANDBUFFERBINDCHANNELMASKSTATEPROC pfnc_nvnCommandBufferBindChannelMaskState;
extern PFNNVNCOMMANDBUFFERBINDCOLORSTATEPROC pfnc_nvnCommandBufferBindColorState;
extern PFNNVNCOMMANDBUFFERBINDMULTISAMPLESTATEPROC pfnc_nvnCommandBufferBindMultisampleState;
extern PFNNVNCOMMANDBUFFERBINDPOLYGONSTATEPROC pfnc_nvnCommandBufferBindPolygonState;
extern PFNNVNCOMMANDBUFFERBINDDEPTHSTENCILSTATEPROC pfnc_nvnCommandBufferBindDepthStencilState;
extern PFNNVNCOMMANDBUFFERBINDVERTEXATTRIBSTATEPROC pfnc_nvnCommandBufferBindVertexAttribState;
extern PFNNVNCOMMANDBUFFERBINDVERTEXSTREAMSTATEPROC pfnc_nvnCommandBufferBindVertexStreamState;
extern PFNNVNCOMMANDBUFFERBINDPROGRAMPROC pfnc_nvnCommandBufferBindProgram;
extern PFNNVNCOMMANDBUFFERBINDVERTEXBUFFERPROC pfnc_nvnCommandBufferBindVertexBuffer;
extern PFNNVNCOMMANDBUFFERBINDVERTEXBUFFERSPROC pfnc_nvnCommandBufferBindVertexBuffers;
extern PFNNVNCOMMANDBUFFERBINDUNIFORMBUFFERPROC pfnc_nvnCommandBufferBindUniformBuffer;
extern PFNNVNCOMMANDBUFFERBINDUNIFORMBUFFERSPROC pfnc_nvnCommandBufferBindUniformBuffers;
extern PFNNVNCOMMANDBUFFERBINDTRANSFORMFEEDBACKBUFFERPROC
    pfnc_nvnCommandBufferBindTransformFeedbackBuffer;
extern PFNNVNCOMMANDBUFFERBINDTRANSFORMFEEDBACKBUFFERSPROC
    pfnc_nvnCommandBufferBindTransformFeedbackBuffers;
extern PFNNVNCOMMANDBUFFERBINDSTORAGEBUFFERPROC pfnc_nvnCommandBufferBindStorageBuffer;
extern PFNNVNCOMMANDBUFFERBINDSTORAGEBUFFERSPROC pfnc_nvnCommandBufferBindStorageBuffers;
extern PFNNVNCOMMANDBUFFERBINDTEXTUREPROC pfnc_nvnCommandBufferBindTexture;
extern PFNNVNCOMMANDBUFFERBINDTEXTURESPROC pfnc_nvnCommandBufferBindTextures;
extern PFNNVNCOMMANDBUFFERBINDIMAGEPROC pfnc_nvnCommandBufferBindImage;
extern PFNNVNCOMMANDBUFFERBINDIMAGESPROC pfnc_nvnCommandBufferBindImages;
extern PFNNVNCOMMANDBUFFERSETPATCHSIZEPROC pfnc_nvnCommandBufferSetPatchSize;
extern PFNNVNCOMMANDBUFFERSETINNERTESSELLATIONLEVELSPROC
    pfnc_nvnCommandBufferSetInnerTessellationLevels;
extern PFNNVNCOMMANDBUFFERSETOUTERTESSELLATIONLEVELSPROC
    pfnc_nvnCommandBufferSetOuterTessellationLevels;
extern PFNNVNCOMMANDBUFFERSETPRIMITIVERESTARTPROC pfnc_nvnCommandBufferSetPrimitiveRestart;
extern PFNNVNCOMMANDBUFFERBEGINTRANSFORMFEEDBACKPROC pfnc_nvnCommandBufferBeginTransformFeedback;
extern PFNNVNCOMMANDBUFFERENDTRANSFORMFEEDBACKPROC pfnc_nvnCommandBufferEndTransformFeedback;
extern PFNNVNCOMMANDBUFFERPAUSETRANSFORMFEEDBACKPROC pfnc_nvnCommandBufferPauseTransformFeedback;
extern PFNNVNCOMMANDBUFFERRESUMETRANSFORMFEEDBACKPROC pfnc_nvnCommandBufferResumeTransformFeedback;
extern PFNNVNCOMMANDBUFFERDRAWTRANSFORMFEEDBACKPROC pfnc_nvnCommandBufferDrawTransformFeedback;
extern PFNNVNCOMMANDBUFFERDRAWARRAYSPROC pfnc_nvnCommandBufferDrawArrays;
extern PFNNVNCOMMANDBUFFERDRAWELEMENTSPROC pfnc_nvnCommandBufferDrawElements;
extern PFNNVNCOMMANDBUFFERDRAWELEMENTSBASEVERTEXPROC pfnc_nvnCommandBufferDrawElementsBaseVertex;
extern PFNNVNCOMMANDBUFFERDRAWARRAYSINSTANCEDPROC pfnc_nvnCommandBufferDrawArraysInstanced;
extern PFNNVNCOMMANDBUFFERDRAWELEMENTSINSTANCEDPROC pfnc_nvnCommandBufferDrawElementsInstanced;
extern PFNNVNCOMMANDBUFFERDRAWARRAYSINDIRECTPROC pfnc_nvnCommandBufferDrawArraysIndirect;
extern PFNNVNCOMMANDBUFFERDRAWELEMENTSINDIRECTPROC pfnc_nvnCommandBufferDrawElementsIndirect;
extern PFNNVNCOMMANDBUFFERMULTIDRAWARRAYSINDIRECTCOUNTPROC
    pfnc_nvnCommandBufferMultiDrawArraysIndirectCount;
extern PFNNVNCOMMANDBUFFERMULTIDRAWELEMENTSINDIRECTCOUNTPROC
    pfnc_nvnCommandBufferMultiDrawElementsIndirectCount;
extern PFNNVNCOMMANDBUFFERCLEARCOLORPROC pfnc_nvnCommandBufferClearColor;
extern PFNNVNCOMMANDBUFFERCLEARCOLORIPROC pfnc_nvnCommandBufferClearColori;
extern PFNNVNCOMMANDBUFFERCLEARCOLORUIPROC pfnc_nvnCommandBufferClearColorui;
extern PFNNVNCOMMANDBUFFERCLEARDEPTHSTENCILPROC pfnc_nvnCommandBufferClearDepthStencil;
extern PFNNVNCOMMANDBUFFERDISPATCHCOMPUTEPROC pfnc_nvnCommandBufferDispatchCompute;
extern PFNNVNCOMMANDBUFFERDISPATCHCOMPUTEINDIRECTPROC pfnc_nvnCommandBufferDispatchComputeIndirect;
extern PFNNVNCOMMANDBUFFERSETVIEWPORTPROC pfnc_nvnCommandBufferSetViewport;
extern PFNNVNCOMMANDBUFFERSETVIEWPORTSPROC pfnc_nvnCommandBufferSetViewports;
extern PFNNVNCOMMANDBUFFERSETVIEWPORTSWIZZLESPROC pfnc_nvnCommandBufferSetViewportSwizzles;
extern PFNNVNCOMMANDBUFFERSETSCISSORPROC pfnc_nvnCommandBufferSetScissor;
extern PFNNVNCOMMANDBUFFERSETSCISSORSPROC pfnc_nvnCommandBufferSetScissors;
extern PFNNVNCOMMANDBUFFERSETDEPTHRANGEPROC pfnc_nvnCommandBufferSetDepthRange;
extern PFNNVNCOMMANDBUFFERSETDEPTHBOUNDSPROC pfnc_nvnCommandBufferSetDepthBounds;
extern PFNNVNCOMMANDBUFFERSETDEPTHRANGESPROC pfnc_nvnCommandBufferSetDepthRanges;
extern PFNNVNCOMMANDBUFFERSETTILEDCACHEACTIONPROC pfnc_nvnCommandBufferSetTiledCacheAction;
extern PFNNVNCOMMANDBUFFERSETTILEDCACHETILESIZEPROC pfnc_nvnCommandBufferSetTiledCacheTileSize;
extern PFNNVNCOMMANDBUFFERBINDSEPARATETEXTUREPROC pfnc_nvnCommandBufferBindSeparateTexture;
extern PFNNVNCOMMANDBUFFERBINDSEPARATESAMPLERPROC pfnc_nvnCommandBufferBindSeparateSampler;
extern PFNNVNCOMMANDBUFFERBINDSEPARATETEXTURESPROC pfnc_nvnCommandBufferBindSeparateTextures;
extern PFNNVNCOMMANDBUFFERBINDSEPARATESAMPLERSPROC pfnc_nvnCommandBufferBindSeparateSamplers;
extern PFNNVNCOMMANDBUFFERSETSTENCILVALUEMASKPROC pfnc_nvnCommandBufferSetStencilValueMask;
extern PFNNVNCOMMANDBUFFERSETSTENCILMASKPROC pfnc_nvnCommandBufferSetStencilMask;
extern PFNNVNCOMMANDBUFFERSETSTENCILREFPROC pfnc_nvnCommandBufferSetStencilRef;
extern PFNNVNCOMMANDBUFFERSETBLENDCOLORPROC pfnc_nvnCommandBufferSetBlendColor;
extern PFNNVNCOMMANDBUFFERSETPOINTSIZEPROC pfnc_nvnCommandBufferSetPointSize;
extern PFNNVNCOMMANDBUFFERSETLINEWIDTHPROC pfnc_nvnCommandBufferSetLineWidth;
extern PFNNVNCOMMANDBUFFERSETPOLYGONOFFSETCLAMPPROC pfnc_nvnCommandBufferSetPolygonOffsetClamp;
extern PFNNVNCOMMANDBUFFERSETALPHAREFPROC pfnc_nvnCommandBufferSetAlphaRef;
extern PFNNVNCOMMANDBUFFERSETSAMPLEMASKPROC pfnc_nvnCommandBufferSetSampleMask;
extern PFNNVNCOMMANDBUFFERSETRASTERIZERDISCARDPROC pfnc_nvnCommandBufferSetRasterizerDiscard;
extern PFNNVNCOMMANDBUFFERSETDEPTHCLAMPPROC pfnc_nvnCommandBufferSetDepthClamp;
extern PFNNVNCOMMANDBUFFERSETCONSERVATIVERASTERENABLEPROC
    pfnc_nvnCommandBufferSetConservativeRasterEnable;
extern PFNNVNCOMMANDBUFFERSETCONSERVATIVERASTERDILATEPROC
    pfnc_nvnCommandBufferSetConservativeRasterDilate;
extern PFNNVNCOMMANDBUFFERSETSUBPIXELPRECISIONBIASPROC
    pfnc_nvnCommandBufferSetSubpixelPrecisionBias;
extern PFNNVNCOMMANDBUFFERCOPYBUFFERTOTEXTUREPROC pfnc_nvnCommandBufferCopyBufferToTexture;
extern PFNNVNCOMMANDBUFFERCOPYTEXTURETOBUFFERPROC pfnc_nvnCommandBufferCopyTextureToBuffer;
extern PFNNVNCOMMANDBUFFERCOPYTEXTURETOTEXTUREPROC pfnc_nvnCommandBufferCopyTextureToTexture;
extern PFNNVNCOMMANDBUFFERCOPYBUFFERTOBUFFERPROC pfnc_nvnCommandBufferCopyBufferToBuffer;
extern PFNNVNCOMMANDBUFFERCLEARBUFFERPROC pfnc_nvnCommandBufferClearBuffer;
extern PFNNVNCOMMANDBUFFERCLEARTEXTUREPROC pfnc_nvnCommandBufferClearTexture;
extern PFNNVNCOMMANDBUFFERCLEARTEXTUREIPROC pfnc_nvnCommandBufferClearTexturei;
extern PFNNVNCOMMANDBUFFERCLEARTEXTUREUIPROC pfnc_nvnCommandBufferClearTextureui;
extern PFNNVNCOMMANDBUFFERUPDATEUNIFORMBUFFERPROC pfnc_nvnCommandBufferUpdateUniformBuffer;
extern PFNNVNCOMMANDBUFFERREPORTCOUNTERPROC pfnc_nvnCommandBufferReportCounter;
extern PFNNVNCOMMANDBUFFERRESETCOUNTERPROC pfnc_nvnCommandBufferResetCounter;
extern PFNNVNCOMMANDBUFFERREPORTVALUEPROC pfnc_nvnCommandBufferReportValue;
extern PFNNVNCOMMANDBUFFERSETRENDERENABLEPROC pfnc_nvnCommandBufferSetRenderEnable;
extern PFNNVNCOMMANDBUFFERSETRENDERENABLECONDITIONALPROC
    pfnc_nvnCommandBufferSetRenderEnableConditional;
extern PFNNVNCOMMANDBUFFERSETRENDERTARGETSPROC pfnc_nvnCommandBufferSetRenderTargets;
extern PFNNVNCOMMANDBUFFERDISCARDCOLORPROC pfnc_nvnCommandBufferDiscardColor;
extern PFNNVNCOMMANDBUFFERDISCARDDEPTHSTENCILPROC pfnc_nvnCommandBufferDiscardDepthStencil;
extern PFNNVNCOMMANDBUFFERDOWNSAMPLEPROC pfnc_nvnCommandBufferDownsample;
extern PFNNVNCOMMANDBUFFERTILEDDOWNSAMPLEPROC pfnc_nvnCommandBufferTiledDownsample;
extern PFNNVNCOMMANDBUFFERDOWNSAMPLETEXTUREVIEWPROC pfnc_nvnCommandBufferDownsampleTextureView;
extern PFNNVNCOMMANDBUFFERTILEDDOWNSAMPLETEXTUREVIEWPROC
    pfnc_nvnCommandBufferTiledDownsampleTextureView;
extern PFNNVNCOMMANDBUFFERBARRIERPROC pfnc_nvnCommandBufferBarrier;
extern PFNNVNCOMMANDBUFFERWAITSYNCPROC pfnc_nvnCommandBufferWaitSync;
extern PFNNVNCOMMANDBUFFERFENCESYNCPROC pfnc_nvnCommandBufferFenceSync;
extern PFNNVNCOMMANDBUFFERSETTEXTUREPOOLPROC pfnc_nvnCommandBufferSetTexturePool;
extern PFNNVNCOMMANDBUFFERSETSAMPLERPOOLPROC pfnc_nvnCommandBufferSetSamplerPool;
extern PFNNVNCOMMANDBUFFERSETSHADERSCRATCHMEMORYPROC pfnc_nvnCommandBufferSetShaderScratchMemory;
extern PFNNVNCOMMANDBUFFERSAVEZCULLDATAPROC pfnc_nvnCommandBufferSaveZCullData;
extern PFNNVNCOMMANDBUFFERRESTOREZCULLDATAPROC pfnc_nvnCommandBufferRestoreZCullData;
extern PFNNVNCOMMANDBUFFERSETCOPYROWSTRIDEPROC pfnc_nvnCommandBufferSetCopyRowStride;
extern PFNNVNCOMMANDBUFFERSETCOPYIMAGESTRIDEPROC pfnc_nvnCommandBufferSetCopyImageStride;
extern PFNNVNCOMMANDBUFFERGETCOPYROWSTRIDEPROC pfnc_nvnCommandBufferGetCopyRowStride;
extern PFNNVNCOMMANDBUFFERGETCOPYIMAGESTRIDEPROC pfnc_nvnCommandBufferGetCopyImageStride;
extern PFNNVNCOMMANDBUFFERDRAWTEXTUREPROC pfnc_nvnCommandBufferDrawTexture;
extern PFNNVNPROGRAMSETSUBROUTINELINKAGEPROC pfnc_nvnProgramSetSubroutineLinkage;
extern PFNNVNCOMMANDBUFFERSETPROGRAMSUBROUTINESPROC pfnc_nvnCommandBufferSetProgramSubroutines;
extern PFNNVNCOMMANDBUFFERBINDCOVERAGEMODULATIONTABLEPROC
    pfnc_nvnCommandBufferBindCoverageModulationTable;
extern PFNNVNCOMMANDBUFFERRESOLVEDEPTHBUFFERPROC pfnc_nvnCommandBufferResolveDepthBuffer;
extern PFNNVNCOMMANDBUFFERPUSHDEBUGGROUPSTATICPROC pfnc_nvnCommandBufferPushDebugGroupStatic;
extern PFNNVNCOMMANDBUFFERPUSHDEBUGGROUPDYNAMICPROC pfnc_nvnCommandBufferPushDebugGroupDynamic;
extern PFNNVNCOMMANDBUFFERPUSHDEBUGGROUPPROC pfnc_nvnCommandBufferPushDebugGroup;
extern PFNNVNCOMMANDBUFFERPOPDEBUGGROUPPROC pfnc_nvnCommandBufferPopDebugGroup;
extern PFNNVNCOMMANDBUFFERPOPDEBUGGROUPIDPROC pfnc_nvnCommandBufferPopDebugGroupId;
extern PFNNVNCOMMANDBUFFERINSERTDEBUGMARKERSTATICPROC pfnc_nvnCommandBufferInsertDebugMarkerStatic;
extern PFNNVNCOMMANDBUFFERINSERTDEBUGMARKERDYNAMICPROC
    pfnc_nvnCommandBufferInsertDebugMarkerDynamic;
extern PFNNVNCOMMANDBUFFERINSERTDEBUGMARKERPROC pfnc_nvnCommandBufferInsertDebugMarker;
extern PFNNVNCOMMANDBUFFERGETMEMORYCALLBACKPROC pfnc_nvnCommandBufferGetMemoryCallback;
extern PFNNVNCOMMANDBUFFERGETMEMORYCALLBACKDATAPROC pfnc_nvnCommandBufferGetMemoryCallbackData;
extern PFNNVNCOMMANDBUFFERISRECORDINGPROC pfnc_nvnCommandBufferIsRecording;
extern PFNNVNSYNCINITIALIZEPROC pfnc_nvnSyncInitialize;
extern PFNNVNSYNCFINALIZEPROC pfnc_nvnSyncFinalize;
extern PFNNVNSYNCSETDEBUGLABELPROC pfnc_nvnSyncSetDebugLabel;
extern PFNNVNQUEUEFENCESYNCPROC pfnc_nvnQueueFenceSync;
extern PFNNVNSYNCWAITPROC pfnc_nvnSyncWait;
extern PFNNVNQUEUEWAITSYNCPROC pfnc_nvnQueueWaitSync;
extern PFNNVNEVENTBUILDERSETDEFAULTSPROC pfnc_nvnEventBuilderSetDefaults;
extern PFNNVNEVENTBUILDERSETSTORAGEPROC pfnc_nvnEventBuilderSetStorage;
extern PFNNVNEVENTINITIALIZEPROC pfnc_nvnEventInitialize;
extern PFNNVNEVENTFINALIZEPROC pfnc_nvnEventFinalize;
extern PFNNVNEVENTGETVALUEPROC pfnc_nvnEventGetValue;
extern PFNNVNEVENTSIGNALPROC pfnc_nvnEventSignal;
extern PFNNVNCOMMANDBUFFERWAITEVENTPROC pfnc_nvnCommandBufferWaitEvent;
extern PFNNVNCOMMANDBUFFERSIGNALEVENTPROC pfnc_nvnCommandBufferSignalEvent;

void nvnLoadCProcs(const NVNdevice* device, PFNNVNDEVICEGETPROCADDRESSPROC deviceGetProcAddress);

#ifdef __cplusplus
}
#endif
