render/egl: store IMG_context_priority in wlr_egl

The next commit will split extension lookup and context
initialization.
This commit is contained in:
Simon Ser 2021-12-01 14:03:37 +01:00
parent 812ab2e716
commit ffd4a27714
2 changed files with 5 additions and 4 deletions

View File

@ -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;

View File

@ -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).