[Spice-devel] [PATCH xf86-video-qxl] Initialize the frame buffer used in dfps mode; this silences a number of valgrind errors.
Jeremy White
jwhite at codeweavers.com
Fri Sep 19 07:13:57 PDT 2014
On 09/19/2014 06:40 AM, Christophe Fergeau wrote:
> Any idea in which situation we are trying to access uninitialized pixmap
> memory?
I no longer recall with precision. The valgrind trigger was in
hash_and_copy; I suspect I first encountered it in the case I fixed with
a later patch (copying past the stride).
However, a prepare_access that doesn't fill the region, or the new
tuning code I've added to dfps has a clear logical need for a
preinitialized pixmap, so I think this is correct for a variety of reasons.
Cheers,
Jeremy
> Apart from that, why not.
>
> Christophe
>
> On Fri, Sep 12, 2014 at 02:20:36PM -0500, Jeremy White wrote:
>>
>> Signed-off-by: Jeremy White <jwhite at codeweavers.com>
>> ---
>> src/dfps.c | 14 ++++++++++++++
>> 1 file changed, 14 insertions(+)
>>
>> diff --git a/src/dfps.c b/src/dfps.c
>> index 5db34dc..568ba5e 100644
>> --- a/src/dfps.c
>> +++ b/src/dfps.c
>> @@ -312,6 +312,17 @@ static void dfps_set_screen_pixmap (PixmapPtr pixmap)
>> pixmap->drawable.pScreen->devPrivate = pixmap;
>> }
>>
>> +static void dfps_clear_pixmap(PixmapPtr pixmap, int w, int h)
>> +{
>> + GCPtr pgc;
>> + pgc = GetScratchGC(pixmap->drawable.depth, pixmap->drawable.pScreen);
>> + if (pgc)
>> + {
>> + fbFill(&pixmap->drawable, pgc, 0, 0, w, h);
>> + FreeScratchGC(pgc);
>> + }
>> +}
>> +
>> static PixmapPtr dfps_create_pixmap (ScreenPtr screen, int w, int h, int depth, unsigned usage)
>> {
>> PixmapPtr pixmap;
>> @@ -324,7 +335,10 @@ static PixmapPtr dfps_create_pixmap (ScreenPtr screen, int w, int h, int depth,
>>
>> pixmap = fbCreatePixmap (screen, w, h, depth, usage);
>> if (pixmap)
>> + {
>> + dfps_clear_pixmap(pixmap, w, h);
>> dfps_set_info(pixmap, info);
>> + }
>> else
>> free(info);
>>
>> --
>> 1.7.10.4
>>
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list