diff --git a/.pick_status.json b/.pick_status.json index d2a5fe1200d..8c9d75b0e8d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -40,7 +40,7 @@ "description": "anv: Account for the header in anv_state_stream_alloc", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "955127db9376b49a41a428f5f89137cafec89b1c" }, diff --git a/src/intel/vulkan/anv_allocator.c b/src/intel/vulkan/anv_allocator.c index f698289155b..9b1fdc077c8 100644 --- a/src/intel/vulkan/anv_allocator.c +++ b/src/intel/vulkan/anv_allocator.c @@ -1226,9 +1226,10 @@ anv_state_stream_alloc(struct anv_state_stream *stream, uint32_t offset = align_u32(stream->next, alignment); if (offset + size > stream->block.alloc_size) { + uint32_t min_block_size = size + sizeof(struct anv_state_stream_block); uint32_t block_size = stream->block_size; - if (block_size < size) - block_size = round_to_power_of_two(size); + if (block_size < min_block_size) + block_size = round_to_power_of_two(min_block_size); stream->block = anv_state_pool_alloc_no_vg(stream->state_pool, block_size, PAGE_SIZE);