render/egl: store IMG_context_priority in wlr_egl
The next commit will split extension lookup and context initialization.
This commit is contained in:
parent
812ab2e716
commit
ffd4a27714
|
@ -40,6 +40,7 @@ struct wlr_egl {
|
||||||
bool KHR_image_base;
|
bool KHR_image_base;
|
||||||
bool EXT_image_dma_buf_import;
|
bool EXT_image_dma_buf_import;
|
||||||
bool EXT_image_dma_buf_import_modifiers;
|
bool EXT_image_dma_buf_import_modifiers;
|
||||||
|
bool IMG_context_priority;
|
||||||
|
|
||||||
// Device extensions
|
// Device extensions
|
||||||
bool EXT_device_drm;
|
bool EXT_device_drm;
|
||||||
|
|
|
@ -324,6 +324,9 @@ static bool egl_init(struct wlr_egl *egl, EGLenum platform,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
egl->exts.IMG_context_priority =
|
||||||
|
check_egl_ext(display_exts_str, "EGL_IMG_context_priority");
|
||||||
|
|
||||||
wlr_log(WLR_INFO, "Supported EGL display extensions: %s", display_exts_str);
|
wlr_log(WLR_INFO, "Supported EGL display extensions: %s", display_exts_str);
|
||||||
if (device_exts_str != NULL) {
|
if (device_exts_str != NULL) {
|
||||||
wlr_log(WLR_INFO, "Supported EGL device extensions: %s", device_exts_str);
|
wlr_log(WLR_INFO, "Supported EGL device extensions: %s", device_exts_str);
|
||||||
|
@ -336,9 +339,6 @@ static bool egl_init(struct wlr_egl *egl, EGLenum platform,
|
||||||
|
|
||||||
init_dmabuf_formats(egl);
|
init_dmabuf_formats(egl);
|
||||||
|
|
||||||
bool ext_context_priority =
|
|
||||||
check_egl_ext(display_exts_str, "EGL_IMG_context_priority");
|
|
||||||
|
|
||||||
size_t atti = 0;
|
size_t atti = 0;
|
||||||
EGLint attribs[5];
|
EGLint attribs[5];
|
||||||
attribs[atti++] = EGL_CONTEXT_CLIENT_VERSION;
|
attribs[atti++] = EGL_CONTEXT_CLIENT_VERSION;
|
||||||
|
@ -346,7 +346,7 @@ static bool egl_init(struct wlr_egl *egl, EGLenum platform,
|
||||||
|
|
||||||
// Request a high priority context if possible
|
// Request a high priority context if possible
|
||||||
// TODO: only do this if we're running as the DRM master
|
// TODO: only do this if we're running as the DRM master
|
||||||
bool request_high_priority = ext_context_priority;
|
bool request_high_priority = egl->exts.IMG_context_priority;
|
||||||
|
|
||||||
// Try to reschedule all of our rendering to be completed first. If it
|
// Try to reschedule all of our rendering to be completed first. If it
|
||||||
// fails, it will fallback to the default priority (MEDIUM).
|
// fails, it will fallback to the default priority (MEDIUM).
|
||||||
|
|
Loading…
Reference in New Issue