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.
This commit is contained in:
Matteo Bruni 2015-07-02 17:41:31 +02:00 committed by Alexandre Julliard
parent d2a3c9c20e
commit 93c88d34a8
1 changed files with 2 additions and 2 deletions

View File

@ -6584,7 +6584,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
WORD attribs_map; WORD attribs_map;
struct wined3d_string_buffer *tmp_name; 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_id = ctx_data->glsl_program->vs.id;
vs_list = &ctx_data->glsl_program->vs.shader_entry; 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; 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_id = ctx_data->glsl_program->ps.id;
ps_list = &ctx_data->glsl_program->ps.shader_entry; ps_list = &ctx_data->glsl_program->ps.shader_entry;