From aa7dd6cb7f54180af91e40e38bf8890c5cc12197 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 25 Feb 2019 14:44:52 -0800 Subject: [PATCH] turnip: use 32-bit offset in tu_cs_entry We don't support nor expect BOs to be that big in tu_cs. --- src/freedreno/vulkan/tu_cs.c | 6 +++++- src/freedreno/vulkan/tu_private.h | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/freedreno/vulkan/tu_cs.c b/src/freedreno/vulkan/tu_cs.c index 193ae5cc9fe..11e1737d5d3 100644 --- a/src/freedreno/vulkan/tu_cs.c +++ b/src/freedreno/vulkan/tu_cs.c @@ -307,7 +307,11 @@ tu_cs_reserve_space(struct tu_device *dev, VkResult result = tu_cs_add_bo(dev, cs, new_size); if (result != VK_SUCCESS) return result; - cs->next_bo_size = new_size * 2; + + /* double the size for the next bo */ + new_size <<= 1; + if (cs->next_bo_size < new_size) + cs->next_bo_size = new_size; } assert(tu_cs_get_space(cs) >= reserved_size); diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h index 2f46134f962..f4c455d0d9d 100644 --- a/src/freedreno/vulkan/tu_private.h +++ b/src/freedreno/vulkan/tu_private.h @@ -484,7 +484,7 @@ struct tu_cs_entry const struct tu_bo *bo; uint32_t size; - uint64_t offset; + uint32_t offset; }; enum tu_cs_mode -- 2.30.2