ephyr: Create 3.1 core profile context if possible (v3)
On desktop GL, ask for a 3.1 core profile context if that's available, otherwise create a generic context. v2: tell glamor the profile is a core one. v2.1: add/use GL version defines v3: let glamor work out core itself Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
564d9f0f8c
commit
98c3504dcf
|
@ -41,6 +41,10 @@
|
|||
#include "os.h"
|
||||
#include <X11/Xproto.h>
|
||||
|
||||
/* until we need geometry shaders GL3.1 should suffice. */
|
||||
/* Xephyr has it's own copy of this for build reasons */
|
||||
#define GLAMOR_GL_CORE_VER_MAJOR 3
|
||||
#define GLAMOR_GL_CORE_VER_MINOR 1
|
||||
/** @{
|
||||
*
|
||||
* global state for Xephyr with glamor.
|
||||
|
@ -319,7 +323,19 @@ ephyr_glamor_glx_screen_init(xcb_window_t win)
|
|||
"GLX_EXT_create_context_es2_profile\n");
|
||||
}
|
||||
} else {
|
||||
ctx = glXCreateContext(dpy, visual_info, NULL, True);
|
||||
static const int context_attribs[] = {
|
||||
GLX_CONTEXT_PROFILE_MASK_ARB,
|
||||
GLX_CONTEXT_CORE_PROFILE_BIT_ARB,
|
||||
GLX_CONTEXT_MAJOR_VERSION_ARB,
|
||||
GLAMOR_GL_CORE_VER_MAJOR,
|
||||
GLX_CONTEXT_MINOR_VERSION_ARB,
|
||||
GLAMOR_GL_CORE_VER_MINOR,
|
||||
0,
|
||||
};
|
||||
ctx = glXCreateContextAttribsARB(dpy, fb_config, NULL, True,
|
||||
context_attribs);
|
||||
if (!ctx)
|
||||
ctx = glXCreateContext(dpy, visual_info, NULL, True);
|
||||
}
|
||||
if (ctx == NULL)
|
||||
FatalError("glXCreateContext failed\n");
|
||||
|
|
Loading…
Reference in New Issue
Block a user