r600g/compute: solve a bug introduced by 2e01b8b440

That commit made possible that the items could be one just
after the other when their size was a multiple of ITEM_ALIGNMENT.
But compute_memory_prealloc_chunk still looked to leave a gap
between items. Resulting in that we got an infinite loop when
trying to add an item which would left no space between itself and
the next item.

Fixes piglit test: cl-custom-r600-create-release-buffer-bug
And the test for alignment I have just sent:
http://lists.freedesktop.org/archives/piglit/2014-June/011135.html

Sorry about this.

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
This commit is contained in:
Bruno Jiménez 2014-06-11 17:28:01 +02:00 committed by Tom Stellard
parent 607bc89970
commit 4f70d83089

View file

@ -110,7 +110,7 @@ int64_t compute_memory_prealloc_chunk(
for (item = pool->item_list; item; item = item->next) {
if (item->start_in_dw > -1) {
if (item->start_in_dw-last_end > size_in_dw) {
if (last_end + size_in_dw <= item->start_in_dw) {
return last_end;
}