[Bug 31918] Saints Row the Third (Steam) Crashes on Launch

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jan 17 11:31:26 CST 2013


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

--- Comment #16 from Andras Kovacs <andras at sth.sze.hu> 2013-01-17 11:31:26 CST ---
I debugged towards the application, and I realized the crash occurs in video
card driver, and it related to specific circumstances.
If you use this shameful workaround (that ignores this case), the game starts
but it displays nearly nothing (because of this hack).

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index ed32ee2..cd34085 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -38,6 +38,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d_draw);
 static void drawStridedFast(const struct wined3d_gl_info *gl_info, GLenum
primitive_type, UINT count, UINT idx_size,
         const void *idx_data, UINT start_idx, INT base_vertex_index, UINT
start_instance, UINT instance_count)
 {
+
+    FIXME("(pt=%x, count=%d, idx_size=%d, start_idx=%d, base_vertex_index=%d,
idx_data=%p, instance_count=%d)\n", primitive_type, count, idx_size, start_idx,
base_vertex_index, idx_data, instance_count);
+
     if (idx_size)
     {
         GLenum idxtype = idx_size == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT;
@@ -758,7 +761,7 @@ void draw_primitive(struct wined3d_device *device, UINT
start_idx, UINT index_co
     }
     else
     {
-        drawStridedFast(gl_info, state->gl_primitive_type, index_count,
idx_size, idx_data,
+        if ((indexed && idx_data) || !indexed) drawStridedFast(gl_info,
state->gl_primitive_type, index_count, idx_size, idx_data,
                 start_idx, state->base_vertex_index, start_instance,
instance_count);
     }

Best regards,
Andras

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