Am 18.06.2013 um 16:33 schrieb Henri Verbeet:

> On 18 June 2013 16:17, Stefan Dösinger <ste...@codeweavers.com> wrote:
>> diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
>> index e14d7ab..ad9be6a 100644
>> --- a/dlls/wined3d/glsl_shader.c
>> +++ b/dlls/wined3d/glsl_shader.c
>> @@ -7107,7 +7109,7 @@ static void glsl_fragment_pipe_fog(struct 
>> wined3d_context *context,
>>         new_source = FOGSOURCE_FFP;
>>     }
>> 
>> -    if (new_source != context->fog_source)
>> +    if (new_source != context->fog_source || fogstart == fogend)
>>     {
>>         context->fog_source = new_source;
>>         state_fogstartend(context, state, STATE_RENDER(WINED3D_RS_FOGSTART));
> You shouldn't need this.
It's needed to switch between the different handling of fogstart and fogend in 
vertex and table fog. The ddraw test shows this. The d3d8 and d3d9 tests 
succeed without it because they're also switching vertex and pixel shaders when 
the test switches between vertex and table fog.



Reply via email to