Hi, Emil, On 03/29/2017 02:34 PM, Emil Velikov wrote: > On 29 March 2017 at 13:02, Thomas Hellstrom <[email protected]> wrote: >> Hi, Emil, >> >> On 03/29/2017 01:30 PM, Emil Velikov wrote: >>> Hi Thomas, >>> >>> On 28 March 2017 at 20:39, Thomas Hellstrom <[email protected]> wrote: >>>> Drivers may queue dma operations on the context at unmap time so we need >>>> to flush to make sure the data gets to the bo. Ideally the application >>>> would take care of this, but since there appears to be no exported gbm >>>> flush functionality we need to explicitly flush at unmap time. >>>> >>>> This fixes a problem where kmscube on vmwgfx in rgba textured mode would >>>> render using an uninitialized texture rather than the intended >>>> rgba pattern. >>>> >>> I haven't checked but the issue should not be restricted to vmwgfx, right ? >>> >>> Perhaps we should add the following >>> Fixes: 8aeb6d768b4 ("gbm: Add map/unmap functions") >>> CC: <[email protected]> >> Unfortunately I've, perhaps a bit prematurely, already pushed the fix. >> Is there a way to get it >> into stable after push? >> > Adding mesa-stable@ to the CC list should do it. Check out the > instructions for more examples. > > https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mesa3d.org_submittingpatches.html-23nominations&d=DwIBaQ&c=uilaK90D4TOVoH58JNXRgQ&r=wnSlgOCqfpNS4d02vP68_E9q2BNMCwfD2OZ_6dCFVQQ&m=BrXsoWQ8oh4YpiBU4MHB3Ajw6fCc8eSvWV1W36tTgt0&s=FQVDFEI-7Yq6wpypsxCCS-KRkWVaGhtGF3RuN4ZepGY&e= >
Ok. I'll try the option of forwarding the commit id to mesa-stable... > >>>> Signed-off-by: Thomas Hellstrom <[email protected]> >>>> --- >>>> src/gbm/backends/dri/gbm_dri.c | 9 ++++++++- >>>> 1 file changed, 8 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/src/gbm/backends/dri/gbm_dri.c >>>> b/src/gbm/backends/dri/gbm_dri.c >>>> index ac7ede8..6c2244c 100644 >>>> --- a/src/gbm/backends/dri/gbm_dri.c >>>> +++ b/src/gbm/backends/dri/gbm_dri.c >>>> @@ -243,7 +243,7 @@ struct dri_extension_match { >>>> }; >>>> >>>> static struct dri_extension_match dri_core_extensions[] = { >>>> - { __DRI2_FLUSH, 1, offsetof(struct gbm_dri_device, flush) }, >>>> + { __DRI2_FLUSH, 4, offsetof(struct gbm_dri_device, flush) }, >>> Currently the classic nouveau, radeon/r200 and i915 drivers do not >>> support v4 of the extension. >>> As-is this will 'break' them... if they ever worked to begin with. >>> >>> One solution is to bail out (return -ENOSYS or similar) in map/unmap >>> API of the when the DRI module is too old. >>> Just some ^^ food for thought. >> Hmm. Is there even a use-case for gbm with those drivers? If so we >> should perhaps make them up-to-date with the flush extension. >> > Of the above: > > - nouveau: Does not support DRI_IMAGE, thus it doesn't work even > before the patch. > - i915: I have some untested ancient patches. Will see if I can rebase > + send out. > - radeons: ?? > > If someone reports an issue we can ask them to write/test some code, I guess > ;-) Indeed. It looks like gbm is mostly used together with KMS anyway... /Thomas > > -Emil _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
