33 lines
835 B
C
33 lines
835 B
C
#pragma once
|
|
|
|
#define GN_NULL_HANDLE 0
|
|
|
|
#define GN_HANDLE(type) \
|
|
typedef struct type##_t* type##Handle; \
|
|
typedef struct type##_t* type
|
|
|
|
#define GN_HANDLE_ALIAS(handle, alias) \
|
|
typedef struct handle##_t* alias##Handle; \
|
|
typedef struct handle##_t* alias
|
|
|
|
GN_HANDLE(gnInstance);
|
|
GN_HANDLE(gnDebugger);
|
|
GN_HANDLE(gnWindowSurface);
|
|
GN_HANDLE(gnPresentationQueue);
|
|
GN_HANDLE(gnTexture);
|
|
GN_HANDLE(gnRenderPassDescriptor);
|
|
GN_HANDLE(gnPhysicalOutputDevice);
|
|
GN_HANDLE_ALIAS(gnPhysicalOutputDevice, gnPhysicalDevice);
|
|
GN_HANDLE(gnOutputDevice);
|
|
GN_HANDLE_ALIAS(gnOutputDevice, gnDevice);
|
|
GN_HANDLE(gnShaderModule);
|
|
GN_HANDLE(gnGraphicsPipeline);
|
|
GN_HANDLE(gnCommandPool);
|
|
GN_HANDLE(gnCommandBuffer);
|
|
GN_HANDLE(gnSemaphore);
|
|
GN_HANDLE(gnFence);
|
|
GN_HANDLE(gnFramebuffer);
|
|
GN_HANDLE(gnBuffer);
|
|
GN_HANDLE(gnUniformPool);
|
|
GN_HANDLE(gnUniform);
|