qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 7/9] opengl: add egl-context.[ch] helpers


From: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH 7/9] opengl: add egl-context.[ch] helpers
Date: Fri, 11 Sep 2015 16:13:53 +0200

On Wed, Sep 9, 2015 at 1:20 PM, Gerd Hoffmann <address@hidden> wrote:
> Add helper functions to manage opengl contexts using egl.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
>  include/ui/egl-context.h | 14 ++++++++++++++
>  ui/Makefile.objs         |  1 +
>  ui/egl-context.c         | 34 ++++++++++++++++++++++++++++++++++
>  3 files changed, 49 insertions(+)
>  create mode 100644 include/ui/egl-context.h
>  create mode 100644 ui/egl-context.c
>

Reviewed-by: Marc-André Lureau <address@hidden>

> diff --git a/include/ui/egl-context.h b/include/ui/egl-context.h
> new file mode 100644
> index 0000000..a1c8007
> --- /dev/null
> +++ b/include/ui/egl-context.h
> @@ -0,0 +1,14 @@
> +#ifndef EGL_CONTEXT_H
> +#define EGL_CONTEXT_H
> +
> +#include "ui/console.h"
> +#include "ui/egl-helpers.h"
> +
> +qemu_gl_context qemu_egl_create_context(DisplayChangeListener *dcl,
> +                                        struct qemu_gl_params *params);
> +void qemu_egl_destroy_context(DisplayChangeListener *dcl, qemu_gl_context 
> ctx);
> +int qemu_egl_make_context_current(DisplayChangeListener *dcl,
> +                                  qemu_gl_context ctx);
> +qemu_gl_context qemu_egl_get_current_context(DisplayChangeListener *dcl);
> +
> +#endif /* EGL_CONTEXT_H */
> diff --git a/ui/Makefile.objs b/ui/Makefile.objs
> index c62d4d9..9bc64a0 100644
> --- a/ui/Makefile.objs
> +++ b/ui/Makefile.objs
> @@ -31,6 +31,7 @@ ifeq ($(CONFIG_OPENGL),y)
>  common-obj-y += shader.o
>  common-obj-y += console-gl.o
>  common-obj-y += egl-helpers.o
> +common-obj-y += egl-context.o
>  common-obj-$(CONFIG_GTK) += gtk-egl.o
>  endif
>
> diff --git a/ui/egl-context.c b/ui/egl-context.c
> new file mode 100644
> index 0000000..233ed37
> --- /dev/null
> +++ b/ui/egl-context.c
> @@ -0,0 +1,34 @@
> +#include "qemu-common.h"
> +#include "ui/egl-context.h"
> +
> +qemu_gl_context qemu_egl_create_context(DisplayChangeListener *dcl,
> +                                        struct qemu_gl_params *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, qemu_gl_context 
> ctx)
> +{
> +    eglDestroyContext(qemu_egl_display, ctx);
> +}
> +
> +int qemu_egl_make_context_current(DisplayChangeListener *dcl,
> +                                  qemu_gl_context ctx)
> +{
> +   return eglMakeCurrent(qemu_egl_display,
> +                         EGL_NO_SURFACE, EGL_NO_SURFACE, ctx);
> +}
> +
> +qemu_gl_context qemu_egl_get_current_context(DisplayChangeListener *dcl)
> +{
> +    return eglGetCurrentContext();
> +}
> --
> 1.8.3.1
>
>



-- 
Marc-André Lureau



reply via email to

[Prev in Thread] Current Thread [Next in Thread]