On Sun, Mar 26, 2017 at 11:45 PM, Timothy Arceri <[email protected]> wrote:
>
>
> On 27/03/17 03:30, Grazvydas Ignotas wrote:
>>
>> The checks were only looking at the first byte, while the intention
>> seems to be to check if the whole sha1 is zero. This prevented all
>> shaders with first byte zero in their sha1 from being saved.
>>
>> This shaves around a second from Deus Ex load time on a hot cache.
>>
>> Signed-off-by: Grazvydas Ignotas <[email protected]>
>> ---
>>  src/compiler/glsl/shader_cache.cpp       | 3 ++-
>>  src/mesa/state_tracker/st_shader_cache.c | 3 ++-
>>  2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/compiler/glsl/shader_cache.cpp
>> b/src/compiler/glsl/shader_cache.cpp
>> index 274bb8c..ea1bc01 100644
>> --- a/src/compiler/glsl/shader_cache.cpp
>> +++ b/src/compiler/glsl/shader_cache.cpp
>> @@ -1219,11 +1219,12 @@ shader_cache_write_program_metadata(struct
>> gl_context *ctx,
>>      * generate a source from.
>>      *
>>      * TODO: In future we should use another method to generate a key for
>> ff
>>      * programs.
>>      */
>> -   if (*prog->data->sha1 == 0)
>> +   static const char zero[sizeof(prog->data->sha1)] = {0};
>
>
> I don't think this will compile on Windows.

Why do you think so? From my experience msvc (forced to use it at
work) is fine with sizeof(array) and zero initializers, and other code
in src/compiler/glsl/ has used both already.

GraÅžvydas
_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to