From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52863) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaP5S-0007gW-JI for qemu-devel@nongnu.org; Fri, 11 Sep 2015 10:14:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZaP5O-0007ge-Ke for qemu-devel@nongnu.org; Fri, 11 Sep 2015 10:13:58 -0400 Received: from mail-ob0-x229.google.com ([2607:f8b0:4003:c01::229]:33428) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZaP5O-0007gW-G0 for qemu-devel@nongnu.org; Fri, 11 Sep 2015 10:13:54 -0400 Received: by obbbh8 with SMTP id bh8so61338816obb.0 for ; Fri, 11 Sep 2015 07:13:53 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1441797654-15350-8-git-send-email-kraxel@redhat.com> References: <1441797654-15350-1-git-send-email-kraxel@redhat.com> <1441797654-15350-8-git-send-email-kraxel@redhat.com> Date: Fri, 11 Sep 2015 16:13:53 +0200 Message-ID: From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 7/9] opengl: add egl-context.[ch] helpers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: QEMU On Wed, Sep 9, 2015 at 1:20 PM, Gerd Hoffmann wrote: > Add helper functions to manage opengl contexts using egl. > > Signed-off-by: Gerd Hoffmann > --- > 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=C3=A9 Lureau > 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_contex= t 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 +=3D shader.o > common-obj-y +=3D console-gl.o > common-obj-y +=3D egl-helpers.o > +common-obj-y +=3D egl-context.o > common-obj-$(CONFIG_GTK) +=3D 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[] =3D { > + EGL_CONTEXT_CLIENT_VERSION, params->major_ver, > + EGL_CONTEXT_MINOR_VERSION_KHR, params->minor_ver, > + EGL_NONE > + }; > + > + ctx =3D eglCreateContext(qemu_egl_display, qemu_egl_config, > + eglGetCurrentContext(), ctx_att); > + return ctx; > +} > + > +void qemu_egl_destroy_context(DisplayChangeListener *dcl, qemu_gl_contex= t 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 > > --=20 Marc-Andr=C3=A9 Lureau