Commit 42ace9d4 authored by Matteo Bruni's avatar Matteo Bruni Committed by Alexandre Julliard

wined3d: Compare interpolation mode VS compilation arguments.

parent 4c8127ef
...@@ -8537,8 +8537,10 @@ static GLuint find_glsl_pshader(const struct wined3d_context *context, ...@@ -8537,8 +8537,10 @@ static GLuint find_glsl_pshader(const struct wined3d_context *context,
static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const struct vs_compile_args *new, static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const struct vs_compile_args *new,
const DWORD use_map) const DWORD use_map)
{ {
if((stored->swizzle_map & use_map) != new->swizzle_map) return FALSE; if ((stored->swizzle_map & use_map) != new->swizzle_map)
if((stored->clip_enabled) != new->clip_enabled) return FALSE; return FALSE;
if ((stored->clip_enabled) != new->clip_enabled)
return FALSE;
if (stored->point_size != new->point_size) if (stored->point_size != new->point_size)
return FALSE; return FALSE;
if (stored->per_vertex_point_size != new->per_vertex_point_size) if (stored->per_vertex_point_size != new->per_vertex_point_size)
...@@ -8549,7 +8551,9 @@ static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const str ...@@ -8549,7 +8551,9 @@ static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const str
return FALSE; return FALSE;
if (stored->next_shader_input_count != new->next_shader_input_count) if (stored->next_shader_input_count != new->next_shader_input_count)
return FALSE; return FALSE;
return stored->fog_src == new->fog_src; if (stored->fog_src != new->fog_src)
return FALSE;
return !memcmp(stored->interpolation_mode, new->interpolation_mode, sizeof(new->interpolation_mode));
} }
static GLuint find_glsl_vshader(const struct wined3d_context *context, struct shader_glsl_priv *priv, static GLuint find_glsl_vshader(const struct wined3d_context *context, struct shader_glsl_priv *priv,
......
...@@ -3532,7 +3532,7 @@ void find_vs_compile_args(const struct wined3d_state *state, const struct wined3 ...@@ -3532,7 +3532,7 @@ void find_vs_compile_args(const struct wined3d_state *state, const struct wined3
&& state->render_states[WINED3D_RS_CLIPPLANEENABLE]; && state->render_states[WINED3D_RS_CLIPPLANEENABLE];
args->point_size = state->gl_primitive_type == GL_POINTS; args->point_size = state->gl_primitive_type == GL_POINTS;
args->per_vertex_point_size = shader->reg_maps.point_size; args->per_vertex_point_size = shader->reg_maps.point_size;
args->next_shader_type = hull_shader? WINED3D_SHADER_TYPE_HULL args->next_shader_type = hull_shader ? WINED3D_SHADER_TYPE_HULL
: geometry_shader ? WINED3D_SHADER_TYPE_GEOMETRY : WINED3D_SHADER_TYPE_PIXEL; : geometry_shader ? WINED3D_SHADER_TYPE_GEOMETRY : WINED3D_SHADER_TYPE_PIXEL;
if (shader->reg_maps.shader_version.major >= 4) if (shader->reg_maps.shader_version.major >= 4)
args->next_shader_input_count = hull_shader ? hull_shader->limits->packed_input args->next_shader_input_count = hull_shader ? hull_shader->limits->packed_input
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment