]> git.proxmox.com Git - mirror_qemu.git/blobdiff - ui/egl-context.c
Merge remote-tracking branch 'remotes/palmer/tags/riscv-for-master-4.0-sf4' into...
[mirror_qemu.git] / ui / egl-context.c
index 40102e392e1f57d2f23545fe4df54ed9d9f010d2..78e6c7ab7cf7fafdb5bd7eb3c86b89a6fb7465ea 100644 (file)
@@ -1,3 +1,4 @@
+#include "qemu/osdep.h"
 #include "qemu-common.h"
 #include "ui/egl-context.h"
 
@@ -5,14 +6,22 @@ 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
+   EGLint ctx_att_core[] = {
+       EGL_CONTEXT_OPENGL_PROFILE_MASK, EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT,
+       EGL_CONTEXT_CLIENT_VERSION, params->major_ver,
+       EGL_CONTEXT_MINOR_VERSION_KHR, params->minor_ver,
+       EGL_NONE
    };
+   EGLint ctx_att_gles[] = {
+       EGL_CONTEXT_CLIENT_VERSION, params->major_ver,
+       EGL_CONTEXT_MINOR_VERSION_KHR, params->minor_ver,
+       EGL_NONE
+   };
+   bool gles = (qemu_egl_mode == DISPLAYGL_MODE_ES);
 
    ctx = eglCreateContext(qemu_egl_display, qemu_egl_config,
-                          eglGetCurrentContext(), ctx_att);
+                          eglGetCurrentContext(),
+                          gles ? ctx_att_gles : ctx_att_core);
    return ctx;
 }