[PATCH 1/5] wined3d: Fix GLSL backend with non-GLSL vertex and pixel pipeline combination.
Matteo Bruni
mbruni at codeweavers.com
Thu Jul 2 10:41:31 CDT 2015
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
More information about the wine-patches
mailing list