mirror of
https://github.com/glfw/glfw.git
synced 2024-11-26 06:14:35 +00:00
parent
08ea80b708
commit
be94eb67be
@ -206,8 +206,9 @@ Zero disables multisampling. `GLFW_DONT_CARE` means the application has no
|
|||||||
preference.
|
preference.
|
||||||
|
|
||||||
`GLFW_SRGB_CAPABLE` specifies whether the framebuffer should be sRGB capable.
|
`GLFW_SRGB_CAPABLE` specifies whether the framebuffer should be sRGB capable.
|
||||||
If supported, the created context will provide `GL_ARB_framebuffer_sRGB` or
|
If supported, a created OpenGL context will support the `GL_FRAMEBUFFER_SRGB`
|
||||||
`GL_EXT_framebuffer_sRGB`.
|
enable, also called `GL_FRAMEBUFFER_SRGB_EXT`) for controlling sRGB rendering
|
||||||
|
and a created OpenGL ES context will always have sRGB rendering enabled.
|
||||||
|
|
||||||
`GLFW_DOUBLEBUFFER` specifies whether the framebuffer should be double buffered.
|
`GLFW_DOUBLEBUFFER` specifies whether the framebuffer should be double buffered.
|
||||||
You nearly always want to use double buffering. This is a hard constraint.
|
You nearly always want to use double buffering. This is a hard constraint.
|
||||||
|
@ -259,6 +259,8 @@ GLFWbool _glfwInitEGL(void)
|
|||||||
_glfwPlatformExtensionSupported("EGL_KHR_create_context");
|
_glfwPlatformExtensionSupported("EGL_KHR_create_context");
|
||||||
_glfw.egl.KHR_create_context_no_error =
|
_glfw.egl.KHR_create_context_no_error =
|
||||||
_glfwPlatformExtensionSupported("EGL_KHR_create_context_no_error");
|
_glfwPlatformExtensionSupported("EGL_KHR_create_context_no_error");
|
||||||
|
_glfw.egl.KHR_gl_colorspace =
|
||||||
|
_glfwPlatformExtensionSupported("EGL_KHR_gl_colorspace");
|
||||||
|
|
||||||
return GLFW_TRUE;
|
return GLFW_TRUE;
|
||||||
}
|
}
|
||||||
@ -288,7 +290,7 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window,
|
|||||||
const _GLFWctxconfig* ctxconfig,
|
const _GLFWctxconfig* ctxconfig,
|
||||||
const _GLFWfbconfig* fbconfig)
|
const _GLFWfbconfig* fbconfig)
|
||||||
{
|
{
|
||||||
int attribs[40];
|
EGLint attribs[40];
|
||||||
EGLConfig config;
|
EGLConfig config;
|
||||||
EGLContext share = NULL;
|
EGLContext share = NULL;
|
||||||
|
|
||||||
@ -401,11 +403,26 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window,
|
|||||||
return GLFW_FALSE;
|
return GLFW_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set up attributes for surface creation
|
||||||
|
{
|
||||||
|
int index = 0;
|
||||||
|
|
||||||
|
if (fbconfig->sRGB)
|
||||||
|
{
|
||||||
|
if (_glfw.egl.KHR_gl_colorspace)
|
||||||
|
{
|
||||||
|
setEGLattrib(EGL_GL_COLORSPACE_KHR, EGL_GL_COLORSPACE_SRGB_KHR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setEGLattrib(EGL_NONE, EGL_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
window->context.egl.surface =
|
window->context.egl.surface =
|
||||||
eglCreateWindowSurface(_glfw.egl.display,
|
eglCreateWindowSurface(_glfw.egl.display,
|
||||||
config,
|
config,
|
||||||
_GLFW_EGL_NATIVE_WINDOW,
|
_GLFW_EGL_NATIVE_WINDOW,
|
||||||
NULL);
|
attribs);
|
||||||
if (window->context.egl.surface == EGL_NO_SURFACE)
|
if (window->context.egl.surface == EGL_NO_SURFACE)
|
||||||
{
|
{
|
||||||
_glfwInputError(GLFW_PLATFORM_ERROR,
|
_glfwInputError(GLFW_PLATFORM_ERROR,
|
||||||
|
@ -104,6 +104,8 @@ typedef MirEGLNativeWindowType EGLNativeWindowType;
|
|||||||
#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30fd
|
#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30fd
|
||||||
#define EGL_CONTEXT_FLAGS_KHR 0x30fc
|
#define EGL_CONTEXT_FLAGS_KHR 0x30fc
|
||||||
#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31b3
|
#define EGL_CONTEXT_OPENGL_NO_ERROR_KHR 0x31b3
|
||||||
|
#define EGL_GL_COLORSPACE_KHR 0x309d
|
||||||
|
#define EGL_GL_COLORSPACE_SRGB_KHR 0x3089
|
||||||
|
|
||||||
typedef int EGLint;
|
typedef int EGLint;
|
||||||
typedef unsigned int EGLBoolean;
|
typedef unsigned int EGLBoolean;
|
||||||
@ -174,6 +176,7 @@ typedef struct _GLFWlibraryEGL
|
|||||||
|
|
||||||
GLFWbool KHR_create_context;
|
GLFWbool KHR_create_context;
|
||||||
GLFWbool KHR_create_context_no_error;
|
GLFWbool KHR_create_context_no_error;
|
||||||
|
GLFWbool KHR_gl_colorspace;
|
||||||
|
|
||||||
void* handle;
|
void* handle;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user