[Bug 29731] New: Corrupted 3d overlay graphics in Temple of Elemental Evil.

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jan 28 08:59:41 CST 2012


http://bugs.winehq.org/show_bug.cgi?id=29731

             Bug #: 29731
           Summary: Corrupted 3d overlay graphics in Temple of Elemental
                    Evil.
           Product: Wine
           Version: 1.3.37
          Platform: x86-64
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: directx-d3d
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: i30817 at gmail.com
    Classification: Unclassified


Some of the temple of elemental evil overlays 3d over 2D that the game uses for
"advanced" effects like flames, particles and spells are misbehaving in recent
wine versions.

I am using the fglrx driver:
Catalyst™ Version 11.11 
Driver Packaging Version 8.911-111025a-128237C-ATI
2D Driver Version 8.91.4
Catalyst™ Control Center Version 2.13
RandR Version 1.3
OpenGL Provider Advanced Micro Devices, Inc.
OpenGL Renderer ATI Mobility Radeon HD 4500 Series
OpenGL Version 3.3.11251 Compatibility Profile Context

You can test it in the current version by running the game; waiting a while in
the menu: some flames in the scrolling background should appear. If the error
exists they flicker in and out of existence - they almost can't be seen - (or
the demo, i'm not sure if one exists and has a menu)

I have bisected it to:

cf421e1b3f29c0df242f43bc235dab1f7410dd6b is the first bad commit
commit cf421e1b3f29c0df242f43bc235dab1f7410dd6b
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Fri Jul 15 01:14:49 2011 +0200

    wined3d: Don't set GL_MAP_UNSYNCHRONIZED_BIT for WINED3D_BUFFER_DISCARD
maps.

    WINED3D_BUFFER_DISCARD means the (current) buffer contents are undefined
for
    subsequent operations. I.e., the map doesn't have to wait for any pending
    operations to finish, and can just return a new buffer with undefined
    contents. GL_MAP_UNSYNCHRONIZED_BIT means the driver doesn't wait for
previous
    operations to finish, and just maps a buffer that's potentially in use.
Proper
    synchronization is left to the application. Note that we set both
    GL_MAP_INVALIDATE_BUFFER_BIT and GL_MAP_UNSYNCHRONIZED_BIT.
    GL_MAP_INVALIDATE_BUFFER_BIT corresponds to WINED3D_BUFFER_DISCARD, and
might
    cause the driver to return a new buffer, but it's not required to make that
    optimization.

:040000 040000 073e95d9d973196ef547deddea7652e265e5fa07
553af26c9b506e0694ad55bfb7be96e29db1cf5e M    dlls



You must be aware that "before" the effect wasn't correct either; just
"differently broken"; where instead of the flame disappearing almost completely
there are graphical artefact's - this bisect pinpoints the "graphical
artifacts" change, the earliest error (before all looked ok): 

68b15bc5ffe6ddf5d08cbc13479eaf718ad5e39f is the first bad commit
commit 68b15bc5ffe6ddf5d08cbc13479eaf718ad5e39f
Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Apr 19 21:24:26 2011 +0200

    wined3d: Give GL_ARB_map_buffer_range another try.

    Nvidia's 270.xx.yy driver series fix the glMapBuffer alignment issues that
caused major
    performance problems. If the user is using an older driver we now drop the
VBO instead of using
    doublebuffered loading, which means that we fall back to the current
behavior(no dynamic VBO) as
    needed. Dynamic VBOs are needed on Nvidia drivers for
GL_ARB_instanced_arrays.

:040000 040000 0cada15043b731febf2ef2a673aaaecc4af75f8d
c474ade74a8db2a9c547674dbb4c809841087a3d M    dlls

Before this bisect; the flames and spell effects were ok.
After it has the graphical artifacts;
And after it (on the first bisect); it has the "flashing" 3d particles/objects.
I am i no way saying that the other artifacts are better than the "flashing"
(they're not), only that it's not completely fixed yet.

That GL ARB regression seems a duplicate of :
http://bugs.winehq.org/show_bug.cgi?id=27600
)

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list