wined3d: Remove an old hack around Mesa choking on protected memory from flush_to_framebuffer_drawpixels.

Stefan Dösinger stefandoesinger at gmx.at
Sat Feb 12 22:58:16 CST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yes, go ahead and kill this hack

Am 13.02.2011 um 00:46 schrieb Gerald Pfeifer:

> This somehow got stuck from the original discussion we had a year ago.
> 
> This is in response to Stefan's feedback 
> (http://www.winehq.org/pipermail/wine-devel/2010-May/083480.html) 
> for a previous version of this patch of mine
> (http://www.winehq.org/pipermail/wine-patches/2010-May/088229.html).
> 
> Either my original patch or this new one (or a variation thereof)
> should be applied.  Stefan, I hope it got you right?
> 
> Gerald
> 
> ---
> dlls/wined3d/surface.c |   17 -----------------
> 1 files changed, 0 insertions(+), 17 deletions(-)
> 
> diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
> index 4377f10..b7f4b1c 100644
> --- a/dlls/wined3d/surface.c
> +++ b/dlls/wined3d/surface.c
> @@ -1960,23 +1960,6 @@ static void flush_to_framebuffer_drawpixels(IWineD3DSurfaceImpl *This,
>     glRasterPos3i(rect.left, rect.top, 1);
>     checkGLcall("glRasterPos3i");
> 
> -    /* Some drivers(radeon dri, others?) don't like exceptions during
> -     * glDrawPixels. If the surface is a DIB section, it might be in GDIMode
> -     * after ReleaseDC. Reading it will cause an exception, which x11drv will
> -     * catch to put the dib section in InSync mode, which leads to a crash
> -     * and a blocked x server on my radeon card.
> -     *
> -     * The following lines read the dib section so it is put in InSync mode
> -     * before glDrawPixels is called and the crash is prevented. There won't
> -     * be any interfering gdi accesses, because UnlockRect is called from
> -     * ReleaseDC, and the app won't use the dc any more afterwards.
> -     */
> -    if ((This->flags & SFLAG_DIBSECTION) && !(This->flags & SFLAG_PBO))
> -    {
> -        volatile BYTE read;
> -        read = This->resource.allocatedMemory[0];
> -    }
> -
>     /* If not fullscreen, we need to skip a number of bytes to find the next row of data */
>     glPixelStorei(GL_UNPACK_ROW_LENGTH, This->currentDesc.Width);
> 
> -- 
> 1.7.2.2

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)

iQIcBAEBAgAGBQJNV2TrAAoJEN0/YqbEcdMwb5EQAIhXIczJL8JYsElaRDXH0kmc
k7knkDu35OE0Rp4wBlqt51BdO9V/bcUzJsNFU5OFmtFgDQsHabNZV/EYvp2mU62D
PDqvbsSWPM1L+LeWw/atjZb4Q5nYg9MH01a2JsDct1YtpkN9CNxakxalWwF6HpSX
r2sMFn38N5/awWqcOS5GQGn348Ak1igzdQGwcHSM/LK/LeuuNZE5r3OOgAgzxheq
/GISFCQ8T0G+UJDcOpGptW7ZjHVeHY1CNFA+HbXcfPJYiUDsZZhnsjy1MehEy0gE
hvrdikWkwnTiAKRjqjriXuz0M7ktZXpzfnjipuZC5MSPqzhncck4GE9JuAeRx8HF
eDX/O+gLsJ+TBNfpxBKmLi/ZfFMa/x12yLk76UULDmzQ1kpSHs5UIkSptYUs3Bwg
IfQAoMydXH6HMcXWD+la3N3O2MdVVvIVaKGz1GSqPPLA4EVz1UobDmXQBcJ0YTzf
RO5dlu6HmbiuR8dD89CdH3eguOldLK0u4BcK/3wJjzgjquspLO24cnlK+/AfIUnw
w+oXcPFULbyiok99kUmQ01DkvLasMj4GVFHRxjN69iPgL8Ofed7Yfp/eX0qRu5MK
k6bZnx/XqgeuQaSeNzKXgAtQgRM0oPKsA4dgVcda8gHdZRVUxdFDjlF+0gB+8N5d
KD0hY4wjYd/67FwtDhEP
=B0mG
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list