https://bugs.winehq.org/show_bug.cgi?id=45468 --- Comment #10 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to Andy Clayton from comment #9)
It looks like it does not get that far. set_glsl_shader_program() reuses "ctx_data->glsl_program->vs" because the vertex shader hasn't been invalidated in "shader_update_mask". And the prior draw happened to have a vertex declaration without color/diffuse data, so the shader that carries over is based on the wined3d_ffp_get_vs_settings() of a use_map without WINED3D_FFP_DIFFUSE. Ah, that makes sense.
Throwing "context->shader_update_mask |= 1u << WINED3D_SHADER_TYPE_VERTEX;" in glsl_vertex_pipe_vdecl() is enough for the tails to display. Would storing and comparing "use_map" similar to "swizzle_map" make any sense? I think so.
-- 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.