From: Elizabeth Figura zfigura@codeweavers.com
FOGVERTEXMODE is an FFP-only state and has no effect when shaders are used. In this case we do not use ps_compile_args, only ffp_frag_settings, which has its own version of this data. --- dlls/wined3d/glsl_shader.c | 1 - dlls/wined3d/shader.c | 15 --------------- 2 files changed, 16 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index d7fbb2ccaae..df60415f062 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -12206,7 +12206,6 @@ static const struct wined3d_state_entry_template glsl_fragment_pipe_state_templa {STATE_RENDER(WINED3D_RS_COLORKEYENABLE), {STATE_RENDER(WINED3D_RS_COLORKEYENABLE), state_nop }, WINED3D_GL_EXT_NONE }, {STATE_RENDER(WINED3D_RS_FOGENABLE), {STATE_RENDER(WINED3D_RS_FOGENABLE), glsl_fragment_pipe_fog }, WINED3D_GL_EXT_NONE }, {STATE_RENDER(WINED3D_RS_FOGTABLEMODE), {STATE_RENDER(WINED3D_RS_FOGTABLEMODE), glsl_fragment_pipe_fog }, WINED3D_GL_EXT_NONE }, - {STATE_RENDER(WINED3D_RS_FOGVERTEXMODE), {STATE_RENDER(WINED3D_RS_FOGENABLE), NULL }, WINED3D_GL_EXT_NONE }, {STATE_RENDER(WINED3D_RS_FOGSTART), {STATE_RENDER(WINED3D_RS_FOGSTART), glsl_fragment_pipe_fogparams }, WINED3D_GL_EXT_NONE }, {STATE_RENDER(WINED3D_RS_FOGEND), {STATE_RENDER(WINED3D_RS_FOGSTART), NULL }, WINED3D_GL_EXT_NONE }, {STATE_RENDER(WINED3D_RS_SRGBWRITEENABLE), {STATE_RENDER(WINED3D_RS_SRGBWRITEENABLE), state_srgbwrite }, ARB_FRAMEBUFFER_SRGB}, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 4ac9979dbd4..bbf873954b8 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -3069,21 +3069,6 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3 switch (state->render_states[WINED3D_RS_FOGTABLEMODE]) { case WINED3D_FOG_NONE: - if (position_transformed || (vs && !vs->is_ffp_vs)) - { - args->fog = WINED3D_FFP_PS_FOG_LINEAR; - break; - } - - switch (state->render_states[WINED3D_RS_FOGVERTEXMODE]) - { - case WINED3D_FOG_NONE: /* Fall through. */ - case WINED3D_FOG_LINEAR: args->fog = WINED3D_FFP_PS_FOG_LINEAR; break; - case WINED3D_FOG_EXP: args->fog = WINED3D_FFP_PS_FOG_EXP; break; - case WINED3D_FOG_EXP2: args->fog = WINED3D_FFP_PS_FOG_EXP2; break; - } - break; - case WINED3D_FOG_LINEAR: args->fog = WINED3D_FFP_PS_FOG_LINEAR; break; case WINED3D_FOG_EXP: args->fog = WINED3D_FFP_PS_FOG_EXP; break; case WINED3D_FOG_EXP2: args->fog = WINED3D_FFP_PS_FOG_EXP2; break;