egl-context.c 983 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "qemu/osdep.h"
  2. #include "qemu-common.h"
  3. #include "ui/egl-context.h"
  4. QEMUGLContext qemu_egl_create_context(DisplayChangeListener *dcl,
  5. QEMUGLParams *params)
  6. {
  7. EGLContext ctx;
  8. EGLint ctx_att[] = {
  9. EGL_CONTEXT_CLIENT_VERSION, params->major_ver,
  10. EGL_CONTEXT_MINOR_VERSION_KHR, params->minor_ver,
  11. EGL_NONE
  12. };
  13. ctx = eglCreateContext(qemu_egl_display, qemu_egl_config,
  14. eglGetCurrentContext(), ctx_att);
  15. return ctx;
  16. }
  17. void qemu_egl_destroy_context(DisplayChangeListener *dcl, QEMUGLContext ctx)
  18. {
  19. eglDestroyContext(qemu_egl_display, ctx);
  20. }
  21. int qemu_egl_make_context_current(DisplayChangeListener *dcl,
  22. QEMUGLContext ctx)
  23. {
  24. return eglMakeCurrent(qemu_egl_display,
  25. EGL_NO_SURFACE, EGL_NO_SURFACE, ctx);
  26. }
  27. QEMUGLContext qemu_egl_get_current_context(DisplayChangeListener *dcl)
  28. {
  29. return eglGetCurrentContext();
  30. }