diff options
author | Eric Anholt <eric@anholt.net> | 2015-07-16 14:30:28 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2015-07-17 12:25:55 -0700 |
commit | be7adc2ecad0d04037cb0c99754703dde86ee73a (patch) | |
tree | c2fb74f64e6bbb9f3f55384aa85c8aace2e3eec2 | |
parent | 90dfabc3b5ce5b485a1bbcd7e815a72588f7153d (diff) | |
download | external_mesa3d-be7adc2ecad0d04037cb0c99754703dde86ee73a.zip external_mesa3d-be7adc2ecad0d04037cb0c99754703dde86ee73a.tar.gz external_mesa3d-be7adc2ecad0d04037cb0c99754703dde86ee73a.tar.bz2 |
vc4: Also consider uniform 0 in uniform lowering.
The hash table considers key 0 to be the empty key.
-rw-r--r-- | src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c b/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c index 910c89d..f087c3b 100644 --- a/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c +++ b/src/gallium/drivers/vc4/vc4_qir_lower_uniforms.c @@ -52,7 +52,7 @@ static void add_uniform(struct hash_table *ht, struct qreg reg) { struct hash_entry *entry; - void *key = (void *)(uintptr_t)reg.index; + void *key = (void *)(uintptr_t)(reg.index + 1); entry = _mesa_hash_table_search(ht, key); if (entry) { @@ -66,7 +66,7 @@ static void remove_uniform(struct hash_table *ht, struct qreg reg) { struct hash_entry *entry; - void *key = (void *)(uintptr_t)reg.index; + void *key = (void *)(uintptr_t)(reg.index + 1); entry = _mesa_hash_table_search(ht, key); assert(entry); @@ -122,7 +122,7 @@ qir_lower_uniforms(struct vc4_compile *c) struct hash_entry *entry; hash_table_foreach(ht, entry) { uint32_t count = (uintptr_t)entry->data; - uint32_t index = (uintptr_t)entry->key; + uint32_t index = (uintptr_t)entry->key - 1; if (count > max_count) { max_count = count; max_index = index; |