mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 18:40:13 +01:00
glsl/types: Use _mesa_hash_data for hashing function types
This is way better than the stupid string approach especially since you could overflow the string. Again, I thought I had something better at one point but it obviously got lost. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
11ac1c4dbb
commit
b919100d61
1 changed files with 2 additions and 14 deletions
|
|
@ -1097,20 +1097,8 @@ static uint32_t
|
|||
function_key_hash(const void *a)
|
||||
{
|
||||
const glsl_type *const key = (glsl_type *) a;
|
||||
char hash_key[128];
|
||||
unsigned size = 0;
|
||||
|
||||
size = snprintf(hash_key, sizeof(hash_key), "%08x", key->length);
|
||||
|
||||
for (unsigned i = 0; i < key->length; i++) {
|
||||
if (size >= sizeof(hash_key))
|
||||
break;
|
||||
|
||||
size += snprintf(& hash_key[size], sizeof(hash_key) - size,
|
||||
"%p", (void *) key->fields.structure[i].type);
|
||||
}
|
||||
|
||||
return _mesa_hash_string(hash_key);
|
||||
return _mesa_hash_data(key->fields.parameters,
|
||||
(key->length + 1) * sizeof(*key->fields.parameters));
|
||||
}
|
||||
|
||||
const glsl_type *
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue