Module: Mesa
Branch: master
Commit: a0f5c496e348b918a556dd275289d4dda63b94c9
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0f5c496e348b918a556dd275289d4dda63b94c9

Author: Jason Ekstrand <[email protected]>
Date:   Fri Aug 26 19:31:05 2016 -0700

anv/allocator: Correctly set the number of buckets

The range from ANV_MIN_STATE_SIZE_LOG2 to ANV_MAX_STATE_SIZE_LOG2 should
be inclusive and we have asserts that ensure that you never try to allocate
a state larger than (1 << ANV_MAX_STATE_SIZE_LOG2).  However, without
adding 1 to the difference, we allocate 1 too few bucckts and so, even
though we have an assert, anything landing in the last bucket will fail to
allocate properly..

Signed-off-by: Jason Ekstrand <[email protected]>
Cc: "12.0" <[email protected]>

---

 src/intel/vulkan/anv_private.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index f03dba0..f7f1ff2 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -402,7 +402,7 @@ struct anv_fixed_size_state_pool {
 #define ANV_MIN_STATE_SIZE_LOG2 6
 #define ANV_MAX_STATE_SIZE_LOG2 10
 
-#define ANV_STATE_BUCKETS (ANV_MAX_STATE_SIZE_LOG2 - ANV_MIN_STATE_SIZE_LOG2)
+#define ANV_STATE_BUCKETS (ANV_MAX_STATE_SIZE_LOG2 - ANV_MIN_STATE_SIZE_LOG2 + 
1)
 
 struct anv_state_pool {
    struct anv_block_pool *block_pool;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to