[Bug 45468] Phase Shift: tails on sustain notes not visible unless GLSL is disabled

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jul 21 17:01:44 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=45468

--- Comment #9 from Andy Clayton <q3aiml+wine at gmail.com> ---
It (In reply to Henri Verbeet from comment #8)
> What does wined3d_ffp_get_vs_settings() end up setting
> "settings->diffuse_source" to? Is that value used correctly by
> shader_glsl_generate_ffp_vertex_shader()?

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.

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?

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