GL_ENRTY(GLint, rcGetRendererVersion)
GL_ENTRY(EGLint, rcGetEGLVersion, EGLint *major, EGLint *minor)
GL_ENTRY(EGLint, rcQueryEGLString, EGLenum name, void *buffer, EGLint bufferSize)
GL_ENTRY(EGLint, rcGetGLString, EGLenum name, void *buffer, EGLint bufferSize)
GL_ENTRY(EGLint, rcGetNumConfigs, uint32_t *numAttribs)
GL_ENTRY(EGLint, rcGetConfigs, uint32_t bufSize, GLuint *buffer)
GL_ENTRY(EGLint, rcChooseConfig, EGLint *attribs, uint32_t attribs_size, uint32_t *configs, uint32_t configs_size)
GL_ENTRY(EGLint, rcGetFBParam, EGLint param)
GL_ENTRY(uint32_t, rcCreateContext, uint32_t config, uint32_t share, uint32_t glVersion)
GL_ENTRY(void, rcDestroyContext, uint32_t context)
GL_ENTRY(uint32_t, rcCreateWindowSurface, uint32_t config, uint32_t width, uint32_t height)
GL_ENTRY(void, rcDestroyWindowSurface, uint32_t windowSurface)
GL_ENTRY(uint32_t, rcCreateColorBuffer, uint32_t width, uint32_t height, GLenum internalFormat)
GL_ENTRY(void, rcOpenColorBuffer, uint32_t colorbuffer)
GL_ENTRY(void, rcCloseColorBuffer, uint32_t colorbuffer)
GL_ENTRY(void, rcSetWindowColorBuffer, uint32_t windowSurface, uint32_t colorBuffer)
GL_ENTRY(int, rcFlushWindowColorBuffer, uint32_t windowSurface)
GL_ENTRY(EGLint, rcMakeCurrent, uint32_t context, uint32_t drawSurf, uint32_t readSurf)
GL_ENTRY(void, rcFBPost, uint32_t colorBuffer)
GL_ENTRY(void, rcFBSetSwapInterval, EGLint interval)
GL_ENTRY(void, rcBindTexture, uint32_t colorBuffer)
GL_ENTRY(void, rcBindRenderbuffer, uint32_t colorBuffer)
GL_ENTRY(EGLint, rcColorBufferCacheFlush, uint32_t colorbuffer, EGLint postCount,int forRead)
GL_ENTRY(void, rcReadColorBuffer, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void *pixels)
GL_ENTRY(int, rcUpdateColorBuffer, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void *pixels)
GL_ENTRY(int, rcOpenColorBuffer2, uint32_t colorbuffer)
GL_ENTRY(uint32_t, rcCreateClientImage, uint32_t context, EGLenum target, GLuint buffer)
GL_ENTRY(int, rcDestroyClientImage, uint32_t image)
GL_ENTRY(void, rcSelectChecksumHelper, uint32_t newProtocol, uint32_t reserved)
GL_ENTRY(void, rcCreateSyncKHR, EGLenum type, EGLint* attribs, uint32_t num_attribs, int destroy_when_signaled, uint64_t* glsync_out, uint64_t* syncthread_out)
GL_ENTRY(EGLint, rcClientWaitSyncKHR, uint64_t sync, EGLint flags, uint64_t timeout)
GL_ENTRY(void, rcFlushWindowColorBufferAsync, uint32_t windowSurface)
GL_ENTRY(int, rcDestroySyncKHR, uint64_t sync)
GL_ENTRY(void, rcSetPuid, uint64_t puid)
GL_ENTRY(int, rcUpdateColorBufferDMA, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size)
GL_ENTRY(uint32_t, rcCreateColorBufferDMA, uint32_t width, uint32_t height, GLenum internalFormat, int frameworkFormat)
GL_ENTRY(void, rcWaitSyncKHR, uint64_t sync, EGLint flags);
GL_ENTRY(GLint, rcCompose, uint32_t bufferSize, void *buffer);
GL_ENTRY(int, rcCreateDisplay, uint32_t* displayId);
GL_ENTRY(int, rcDestroyDisplay, uint32_t displayId);
GL_ENTRY(int, rcSetDisplayColorBuffer, uint32_t displayId, uint32_t colorBuffer);
GL_ENTRY(int, rcGetDisplayColorBuffer, uint32_t displayId, uint32_t* colorBuffer);
GL_ENTRY(int, rcGetColorBufferDisplay, uint32_t colorBuffer, uint32_t* displayId);
GL_ENTRY(int, rcGetDisplayPose, uint32_t displayId, GLint* x, GLint* y, uint32_t* w, uint32_t* h);
GL_ENTRY(int, rcSetDisplayPose, uint32_t displayId, GLint x, GLint y, uint32_t w, uint32_t h);
GL_ENTRY(GLint, rcSetColorBufferVulkanMode, uint32_t colorBuffer, uint32_t mode);
GL_ENTRY(void, rcReadColorBufferYUV, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, void *pixels, uint32_t pixels_size)
GL_ENTRY(int, rcIsSyncSignaled, uint64_t sync)
GL_ENTRY(void, rcCreateColorBufferWithHandle, uint32_t width, uint32_t height, GLenum internalFormat, uint32_t handle)
GL_ENTRY(uint32_t, rcCreateBuffer, uint32_t size)
GL_ENTRY(void, rcCloseBuffer, uint32_t buffer)
GL_ENTRY(GLint, rcSetColorBufferVulkanMode2, uint32_t colorBuffer, uint32_t mode, uint32_t memoryProperty)
GL_ENTRY(int, rcMapGpaToBufferHandle, uint32_t bufferHandle, uint64_t gpa)
GL_ENTRY(uint32_t, rcCreateBuffer2, uint64_t size, uint32_t memoryProperty)
GL_ENTRY(int, rcMapGpaToBufferHandle2, uint32_t bufferHandle, uint64_t gpa, uint64_t size)
GL_ENTRY(void, rcFlushWindowColorBufferAsyncWithFrameNumber, uint32_t windowSurface, uint32_t frameNumber)
GL_ENTRY(void, rcSetTracingForPuid, uint64_t puid, uint32_t enable, uint64_t guestTime)
GL_ENTRY(void, rcMakeCurrentAsync, uint32_t context, uint32_t drawSurf, uint32_t readSurf)
GL_ENTRY(void, rcComposeAsync, uint32_t bufferSize, void *buffer);
GL_ENTRY(void, rcDestroySyncKHRAsync, uint64_t sync);
GL_ENTRY(GLint, rcComposeWithoutPost, uint32_t bufferSize, void *buffer);
GL_ENTRY(void, rcComposeAsyncWithoutPost, uint32_t bufferSize, void *buffer);
GL_ENTRY(int, rcCreateDisplayById, uint32_t displayId);
GL_ENTRY(int, rcSetDisplayPoseDpi, uint32_t displayId, GLint x, GLint y, uint32_t w, uint32_t h, uint32_t dpi);
GL_ENTRY(int, rcReadColorBufferDMA, uint32_t colorbuffer, GLint x, GLint y, GLint width, GLint height, GLenum format, GLenum type, void* pixels, uint32_t pixels_size)
GL_ENTRY(int, rcGetFBDisplayConfigsCount);
GL_ENTRY(int, rcGetFBDisplayConfigsParam, int configId, EGLint param);
GL_ENTRY(int, rcGetFBDisplayActiveConfig);
GL_ENTRY(void, rcSetProcessMetadata, char* key, RenderControlByte* valuePtr, uint32_t valueSize);
GL_ENTRY(int, rcGetHostExtensionsString, uint32_t bufferSize, void *buffer);
