First development release - WIP

This commit is contained in:
2018-09-18 20:00:49 +02:00
parent 9d8cc24939
commit a839879baa
13 changed files with 1080 additions and 1 deletions

60
include/lvrc.h Normal file
View File

@@ -0,0 +1,60 @@
#ifndef LINUX_VR_COMPOSITOR_H
#define LINUX_VR_COMPOSITOR_H
#include <openhmd.h>
#ifndef __GBM__
#define __GBM__
#endif // __GBM__
#include <EGL/egl.h>
#include <stdbool.h>
#define LVRC_API __attribute__ ((visibility ("default")))
#ifdef __cplusplus
extern "C" {
#endif
//
// Instance
//
struct lvrcInstance;
LVRC_API struct lvrcInstance * lvrcCreateInstance(ohmd_device * hmd);
LVRC_API void lvrcDestroyInstance(struct lvrcInstance * state);
//
// Swap Chain
//
LVRC_API bool lvrcInitSwapChain(struct lvrcInstance * state);
LVRC_API bool lvrcReleaseSwapChain(struct lvrcInstance * state);
LVRC_API EGLNativeDisplayType lvrcSwapChainGetNativeDisplay(struct lvrcInstance * state);
LVRC_API EGLNativeWindowType lvrcSwapChainGetNativeWindow(struct lvrcInstance * state);
LVRC_API unsigned int lvrcSwapChainGetWidth(struct lvrcInstance * state);
LVRC_API unsigned int lvrcSwapChainGetHeight(struct lvrcInstance * state);
//
// Frame
//
LVRC_API bool lvrcInitFrameResources(struct lvrcInstance * state);
LVRC_API bool lvrcReleaseFrameResources(struct lvrcInstance * state);
LVRC_API bool lvrcBeginFrame(struct lvrcInstance * state);
LVRC_API bool lvrcSubmitFrameLeft(struct lvrcInstance * state, GLuint texture);
LVRC_API bool lvrcSubmitFrameRight(struct lvrcInstance * state, GLuint texture);
LVRC_API bool lvrcEndFrame(struct lvrcInstance * state);
#ifdef __cplusplus
}
#endif
#endif // LINUX_VR_COMPOSITOR_H