diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 8d7c4ed4bd3..22f33eaa0ac 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -2021,41 +2021,32 @@ dri2_wl_add_configs_for_visuals(_EGLDisplay *disp) struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); unsigned int format_count[ARRAY_SIZE(dri2_wl_visuals)] = {0}; unsigned int count = 0; - bool assigned; for (unsigned i = 0; dri2_dpy->driver_configs[i]; i++) { - assigned = false; + bool assigned = false; + struct dri2_egl_config *dri2_conf; + int idx = dri2_wl_visual_idx_from_config(dri2_dpy, + dri2_dpy->driver_configs[i]); - for (unsigned j = 0; j < ARRAY_SIZE(dri2_wl_visuals); j++) { - struct dri2_egl_config *dri2_conf; + if (!server_supports_format(&dri2_dpy->formats, idx)) + continue; - if (!server_supports_format(&dri2_dpy->formats, j)) - continue; - - dri2_conf = dri2_add_config( - disp, dri2_dpy->driver_configs[i], count + 1, EGL_WINDOW_BIT, NULL, - dri2_wl_visuals[j].rgba_shifts, dri2_wl_visuals[j].rgba_sizes); - if (dri2_conf) { - if (dri2_conf->base.ConfigID == count + 1) - count++; - format_count[j]++; - assigned = true; - } + dri2_conf = dri2_add_config(disp, dri2_dpy->driver_configs[i], + count + 1, EGL_WINDOW_BIT, NULL, NULL, NULL); + if (dri2_conf) { + if (dri2_conf->base.ConfigID == count + 1) + count++; + format_count[idx]++; + assigned = true; } + /* No match for config. Try if we can blitImage convert to a visual */ if (!assigned && dri2_dpy->fd_render_gpu != dri2_dpy->fd_display_gpu) { struct dri2_egl_config *dri2_conf; - int alt_pipe_format, c, s; - - /* No match for config. Try if we can blitImage convert to a visual */ - c = dri2_wl_visual_idx_from_config(dri2_dpy, - dri2_dpy->driver_configs[i]); - - if (c == -1) - continue; + int alt_pipe_format, s; /* Find optimal target visual for blitImage conversion, if any. */ - alt_pipe_format = dri2_wl_visuals[c].alt_pipe_format; + alt_pipe_format = dri2_wl_visuals[idx].alt_pipe_format; s = dri2_wl_visual_idx_from_pipe_format(alt_pipe_format); if (!server_supports_format(&dri2_dpy->formats, s)) @@ -2065,18 +2056,17 @@ dri2_wl_add_configs_for_visuals(_EGLDisplay *disp) * by our client gpu during PRIME blitImage conversion to a linear * wl_buffer, so add visual c as supported by the client renderer. */ - dri2_conf = dri2_add_config( - disp, dri2_dpy->driver_configs[i], count + 1, EGL_WINDOW_BIT, NULL, - dri2_wl_visuals[c].rgba_shifts, dri2_wl_visuals[c].rgba_sizes); + dri2_conf = dri2_add_config(disp, dri2_dpy->driver_configs[i], + count + 1, EGL_WINDOW_BIT, NULL, NULL, NULL); if (dri2_conf) { if (dri2_conf->base.ConfigID == count + 1) count++; - format_count[c]++; - if (format_count[c] == 1) + format_count[idx]++; + if (format_count[idx] == 1) _eglLog(_EGL_DEBUG, "Client format %s to server format %s via " "PRIME blitImage.", - dri2_wl_visuals[c].format_name, + dri2_wl_visuals[idx].format_name, dri2_wl_visuals[s].format_name); } } diff --git a/src/gallium/drivers/lima/ci/lima-fails.txt b/src/gallium/drivers/lima/ci/lima-fails.txt index c305af4612d..c219fcaabb7 100644 --- a/src/gallium/drivers/lima/ci/lima-fails.txt +++ b/src/gallium/drivers/lima/ci/lima-fails.txt @@ -49,7 +49,6 @@ wayland-dEQP-EGL.functional.create_context.no_config,Fail wayland-dEQP-EGL.functional.image.modify.renderbuffer_depth16_renderbuffer_clear_depth,Fail wayland-dEQP-EGL.functional.render.multi_context.gles2.rgb888_window,Fail wayland-dEQP-EGL.functional.render.multi_thread.gles2.rgb888_window,Fail -wayland-dEQP-EGL.functional.wide_color.window_8888_colorspace_srgb,Fail wayland-dEQP-EGL.functional.wide_color.window_fp16_default_colorspace,Fail x11-dEQP-EGL.functional.create_context.no_config,Fail