[Bug 27967] Sacred Underworld 2.28 with graphical issues

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Aug 18 18:01:24 CDT 2011


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

--- Comment #3 from Stefan Dösinger <stefandoesinger at gmx.at> 2011-08-18 18:01:23 CDT ---
Created an attachment (id=36041)
 --> (http://bugs.winehq.org/attachment.cgi?id=36041)
wined3d: invalidate streamsrc, vdecl and indexbuffer after strided draws

Please give this patch a try, it fixes at least the disappearing objects issues
for me.

Sacred is one of the few apps that uses the abomination that is
IDirect3DDevice7::DrawPrimitiveStrided. This function bypasses the vertex
declaration. We properly invalidate the vdecl before the draw, but not
afterwards. Prior to the patch that caused the regression, the changed stream
source in the next regular draw would invalidate the vdecl state and everything
was OK. But since this patch we were only rebinding the stream source and not
doing more fundamental things associated with the vertex declaration, like
switching between regular and pretransformed vertices.

Even the past behavior was just luck. We have to invalidate those states before
and after the user-data strided draw. I wish Microsoft had never invented this
method.

The additionally added STATE_STREAMSRC invalidation is technically redundant,
because reapplying STATE_VDECL will reapply STATE_STREAMSRC, but
wined3d_device_draw_primitive_strided isn't supposed to know about this.

-- 
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