diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2015-04-29 10:08:04 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2015-10-08 10:34:53 +0200 |
commit | 6c18744d0f99138cb19cd9d1241d7b11c478a944 (patch) | |
tree | 41ed6debdfc9287a21b13e5d92df18d4411d782d /ui/egl-context.c | |
parent | e9c1b459f28fb4dce52dd5afa6a1ad7fb00ee5e2 (diff) |
opengl: add egl-context.[ch] helpers
Add helper functions to manage opengl contexts using egl.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Diffstat (limited to 'ui/egl-context.c')
-rw-r--r-- | ui/egl-context.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ui/egl-context.c b/ui/egl-context.c new file mode 100644 index 0000000000..40102e392e --- /dev/null +++ b/ui/egl-context.c @@ -0,0 +1,34 @@ +#include "qemu-common.h" +#include "ui/egl-context.h" + +QEMUGLContext qemu_egl_create_context(DisplayChangeListener *dcl, + QEMUGLParams *params) +{ + EGLContext ctx; + EGLint ctx_att[] = { + EGL_CONTEXT_CLIENT_VERSION, params->major_ver, + EGL_CONTEXT_MINOR_VERSION_KHR, params->minor_ver, + EGL_NONE + }; + + ctx = eglCreateContext(qemu_egl_display, qemu_egl_config, + eglGetCurrentContext(), ctx_att); + return ctx; +} + +void qemu_egl_destroy_context(DisplayChangeListener *dcl, QEMUGLContext ctx) +{ + eglDestroyContext(qemu_egl_display, ctx); +} + +int qemu_egl_make_context_current(DisplayChangeListener *dcl, + QEMUGLContext ctx) +{ + return eglMakeCurrent(qemu_egl_display, + EGL_NO_SURFACE, EGL_NO_SURFACE, ctx); +} + +QEMUGLContext qemu_egl_get_current_context(DisplayChangeListener *dcl) +{ + return eglGetCurrentContext(); +} |