From: Matteo Bruni Subject: [PATCH 1/5] wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination. Message-Id: <1435851695-17427-1-git-send-email-mbruni@codeweavers.com> Date: Thu, 2 Jul 2015 17:41:31 +0200 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; -- 2.3.6