[PATCH 1/2] wined3d: Pass fogstart==fogend to GL in fog table mode (try 3)

Stefan Dösinger stefan at codeweavers.com
Tue Jun 18 09:52:18 CDT 2013


Am 18.06.2013 um 16:33 schrieb Henri Verbeet:

> On 18 June 2013 16:17, Stefan Dösinger <stefan at 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.




More information about the wine-devel mailing list