Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Thu, Sep 6, 2018 at 5:46 AM, Elie Tournier <tournier.e...@gmail.com> wrote: > This patch fixes the following Piglit test: > spec@egl_mesa_configless_context@basic > It also fixes few test in a virgl guest. > > v2: Evaluate the value of no_config (Ilia) > > Suggested-by: Emil Velikov <emil.veli...@collabora.com> > Signed-off-by: Elie Tournier <elie.tourn...@collabora.com> > --- > src/gallium/include/state_tracker/st_api.h | 2 ++ > src/gallium/state_trackers/dri/dri_screen.c | 4 +++- > src/mesa/state_tracker/st_manager.c | 9 ++++++++- > 3 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/include/state_tracker/st_api.h > b/src/gallium/include/state_tracker/st_api.h > index 61152e3546..2b63b8a3d2 100644 > --- a/src/gallium/include/state_tracker/st_api.h > +++ b/src/gallium/include/state_tracker/st_api.h > @@ -190,6 +190,8 @@ struct st_egl_image > */ > struct st_visual > { > + bool no_config; > + > /** > * Available buffers. Bitfield of ST_ATTACHMENT_*_MASK bits. > */ > diff --git a/src/gallium/state_trackers/dri/dri_screen.c > b/src/gallium/state_trackers/dri/dri_screen.c > index 027e85024f..308e23685e 100644 > --- a/src/gallium/state_trackers/dri/dri_screen.c > +++ b/src/gallium/state_trackers/dri/dri_screen.c > @@ -308,8 +308,10 @@ dri_fill_st_visual(struct st_visual *stvis, > { > memset(stvis, 0, sizeof(*stvis)); > > - if (!mode) > + if (!mode) { > + stvis->no_config = true; > return; > + } > > /* Deduce the color format. */ > switch (mode->redMask) { > diff --git a/src/mesa/state_tracker/st_manager.c > b/src/mesa/state_tracker/st_manager.c > index 69286b5791..9ed316b0f7 100644 > --- a/src/mesa/state_tracker/st_manager.c > +++ b/src/mesa/state_tracker/st_manager.c > @@ -834,6 +834,7 @@ st_api_create_context(struct st_api *stapi, struct > st_manager *smapi, > struct st_context *shared_ctx = (struct st_context *) shared_stctxi; > struct st_context *st; > struct pipe_context *pipe; > + struct gl_config* mode_ptr; > struct gl_config mode; > gl_api api; > bool no_error = false; > @@ -893,7 +894,13 @@ st_api_create_context(struct st_api *stapi, struct > st_manager *smapi, > } > > st_visual_to_context_mode(&attribs->visual, &mode); > - st = st_create_context(api, pipe, &mode, shared_ctx, > + > + if (attribs->visual.no_config) > + mode_ptr = NULL; > + else > + mode_ptr = &mode; > + > + st = st_create_context(api, pipe, mode_ptr, shared_ctx, > &attribs->options, no_error); > if (!st) { > *error = ST_CONTEXT_ERROR_NO_MEMORY; > -- > 2.18.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev