On Fri, 30 Aug 2019 18:43:59 +0200 Michel Dänzer <mic...@daenzer.net> wrote:
> On 2019-08-29 1:54 p.m., Boris Brezillon wrote: > > So we can call st_validate_state() from dri2_set_damage_region() in > > order to update the BACK_LEFT attachement before using it. If we don't > > do that, the resource passed to pipe_screen->set_damage_region() might > > be wrong. > > > > Signed-off-by: Boris Brezillon <boris.brezil...@collabora.com> > > --- > > Hi, > > > > I honestly don't know if this is the right thing to do. Passing a > > context for somethings that we decided to bind to a surface (and > > the underlying resources attached to it) seems wrong, but at the same > > time I don't see any other option to sync the gallium drawable state > > with the EGL DRI surface one. > > > > Any ideas/suggestions? > > > > Regards, > > > > Boris > > --- > > include/GL/internal/dri_interface.h | 5 +++-- > > src/egl/drivers/dri2/egl_dri2.c | 7 +++++-- > > src/gallium/state_trackers/dri/dri2.c | 11 ++++++++++- > > 3 files changed, 18 insertions(+), 5 deletions(-) > > > > diff --git a/include/GL/internal/dri_interface.h > > b/include/GL/internal/dri_interface.h > > index 4c60d349ddd5..e04bed689219 100644 > > --- a/include/GL/internal/dri_interface.h > > +++ b/include/GL/internal/dri_interface.h > > @@ -527,12 +527,13 @@ struct __DRI2bufferDamageExtensionRec { > > * > > * Used to implement EGL_KHR_partial_update. > > * > > + * \param ctx context > > * \param drawable affected drawable > > * \param nrects number of rectangles provided > > * \param rects the array of rectangles, lower-left origin > > */ > > - void (*set_damage_region)(__DRIdrawable *drawable, unsigned int nrects, > > - int *rects); > > + void (*set_damage_region)(__DRIcontext *_ctx, __DRIdrawable *drawable, > > + unsigned int nrects, int *rects); > > }; > > This would break the DRI2_BufferDamage extension version 1 ABI. You'd > need to either add a new hook like set_damage_region2 and bump > __DRI2_BUFFER_DAMAGE_VERSION (and make sure that's handled correctly > everywhere), or add a new extension instead. > > I thought this change was only impacting the internal API, but maybe I'm missing something. In any case, this extension has been merged recently (mesa-19.2.0-rc1), so maybe we can fix it before 19.2 is released to avoid creating ->set_damage_region2(). _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev