diff options
author | David Robillard <d@drobilla.net> | 2023-01-08 20:13:08 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2023-01-08 22:32:09 -0500 |
commit | b2b917da14cbab770905232c8cf5680fa79cea8e (patch) | |
tree | 389a6ea726f8a2fa8c6df22808a183b121608c3b /src | |
parent | a45fb20347d4474a2e3cacc8da3c2d3a465a3aed (diff) | |
download | pugl-b2b917da14cbab770905232c8cf5680fa79cea8e.tar.gz pugl-b2b917da14cbab770905232c8cf5680fa79cea8e.tar.bz2 pugl-b2b917da14cbab770905232c8cf5680fa79cea8e.zip |
Prepare OpenGL context flags for OpenGL ES support
Diffstat (limited to 'src')
-rw-r--r-- | src/common.c | 10 | ||||
-rw-r--r-- | src/mac_gl.m | 4 | ||||
-rw-r--r-- | src/win_gl.c | 4 | ||||
-rw-r--r-- | src/x11_gl.c | 10 |
4 files changed, 17 insertions, 11 deletions
diff --git a/src/common.c b/src/common.c index 90a75cf..5c39b39 100644 --- a/src/common.c +++ b/src/common.c @@ -91,10 +91,11 @@ puglGetClassName(const PuglWorld* world) static void puglSetDefaultHints(PuglHints hints) { - hints[PUGL_USE_COMPAT_PROFILE] = PUGL_TRUE; - hints[PUGL_USE_DEBUG_CONTEXT] = PUGL_FALSE; + hints[PUGL_CONTEXT_API] = PUGL_OPENGL_API; hints[PUGL_CONTEXT_VERSION_MAJOR] = 2; hints[PUGL_CONTEXT_VERSION_MINOR] = 0; + hints[PUGL_CONTEXT_PROFILE] = PUGL_OPENGL_CORE_PROFILE; + hints[PUGL_CONTEXT_DEBUG] = PUGL_FALSE; hints[PUGL_RED_BITS] = 8; hints[PUGL_GREEN_BITS] = 8; hints[PUGL_BLUE_BITS] = 8; @@ -203,10 +204,11 @@ puglSetViewHint(PuglView* view, PuglViewHint hint, int value) { if (value == PUGL_DONT_CARE) { switch (hint) { - case PUGL_USE_COMPAT_PROFILE: - case PUGL_USE_DEBUG_CONTEXT: + case PUGL_CONTEXT_API: case PUGL_CONTEXT_VERSION_MAJOR: case PUGL_CONTEXT_VERSION_MINOR: + case PUGL_CONTEXT_PROFILE: + case PUGL_CONTEXT_DEBUG: case PUGL_SWAP_INTERVAL: return PUGL_BAD_PARAMETER; default: diff --git a/src/mac_gl.m b/src/mac_gl.m index b1430d9..f177bf9 100644 --- a/src/mac_gl.m +++ b/src/mac_gl.m @@ -29,7 +29,9 @@ ensureHint(PuglView* const view, const PuglViewHint hint, const int value) - (id)initWithFrame:(NSRect)frame { - const bool compat = puglview->hints[PUGL_USE_COMPAT_PROFILE]; + const bool compat = + puglview->hints[PUGL_CONTEXT_PROFILE] == PUGL_OPENGL_COMPATIBILITY_PROFILE; + const unsigned samples = (unsigned)puglview->hints[PUGL_SAMPLES]; const int major = puglview->hints[PUGL_CONTEXT_VERSION_MAJOR]; const unsigned profile = diff --git a/src/win_gl.c b/src/win_gl.c index 444f87f..0ca9909 100644 --- a/src/win_gl.c +++ b/src/win_gl.c @@ -198,10 +198,10 @@ puglWinGlCreate(PuglView* view) view->hints[PUGL_CONTEXT_VERSION_MINOR], WGL_CONTEXT_FLAGS_ARB, - (view->hints[PUGL_USE_DEBUG_CONTEXT] ? WGL_CONTEXT_DEBUG_BIT_ARB : 0), + (view->hints[PUGL_CONTEXT_DEBUG] ? WGL_CONTEXT_DEBUG_BIT_ARB : 0), WGL_CONTEXT_PROFILE_MASK_ARB, - (view->hints[PUGL_USE_COMPAT_PROFILE] + ((view->hints[PUGL_CONTEXT_PROFILE] == PUGL_OPENGL_COMPATIBILITY_PROFILE) ? WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB : WGL_CONTEXT_CORE_PROFILE_BIT_ARB), diff --git a/src/x11_gl.c b/src/x11_gl.c index f1dc56b..de22b34 100644 --- a/src/x11_gl.c +++ b/src/x11_gl.c @@ -145,12 +145,14 @@ puglX11GlCreate(PuglView* view) view->hints[PUGL_CONTEXT_VERSION_MINOR], GLX_CONTEXT_FLAGS_ARB, - (view->hints[PUGL_USE_DEBUG_CONTEXT] ? GLX_CONTEXT_DEBUG_BIT_ARB : 0), + (view->hints[PUGL_CONTEXT_DEBUG] ? GLX_CONTEXT_DEBUG_BIT_ARB : 0), GLX_CONTEXT_PROFILE_MASK_ARB, - (view->hints[PUGL_USE_COMPAT_PROFILE] - ? GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB - : GLX_CONTEXT_CORE_PROFILE_BIT_ARB), + (view->hints[PUGL_CONTEXT_API] == PUGL_OPENGL_ES_API + ? GLX_CONTEXT_ES2_PROFILE_BIT_EXT + : (view->hints[PUGL_CONTEXT_PROFILE] == PUGL_OPENGL_COMPATIBILITY_PROFILE + ? GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB + : GLX_CONTEXT_CORE_PROFILE_BIT_ARB)), 0}; const char* const extensions = |