Matteo Bruni : wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination.
Module: wine Branch: master Commit: 93c88d34a8a7e9aa1ff9c20626e9580948c07e99 URL: http://source.winehq.org/git/wine.git/?a=commit;h=93c88d34a8a7e9aa1ff9c20626... Author: Matteo Bruni <mbruni(a)codeweavers.com> Date: Thu Jul 2 17:41:31 2015 +0200 wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination. That can only happen by manually modifying select_vertex_implementation() and select_fragment_implementation(), which may be useful for testing non-default vertex / fragment pipeline implementations. --- dlls/wined3d/glsl_shader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 1f6ce09..54922e1 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -6584,7 +6584,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const WORD attribs_map; struct wined3d_string_buffer *tmp_name; - if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_VERTEX))) + if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_VERTEX)) && ctx_data->glsl_program) { vs_id = ctx_data->glsl_program->vs.id; vs_list = &ctx_data->glsl_program->vs.shader_entry; @@ -6624,7 +6624,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const vs_list = &ffp_shader->linked_programs; } - if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_PIXEL))) + if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_PIXEL)) && ctx_data->glsl_program) { ps_id = ctx_data->glsl_program->ps.id; ps_list = &ctx_data->glsl_program->ps.shader_entry;
participants (1)
-
Alexandre Julliard