panfrost: Reserve, but do not upload, shader padding
Fixes invalid read errors reported by valgrind. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
b2a3ca6bd5
commit
a9c73e825a
|
@ -151,10 +151,10 @@ panfrost_upload_transient(struct panfrost_context *ctx, const void *data, size_t
|
|||
mali_ptr
|
||||
panfrost_upload(struct panfrost_memory *mem, const void *data, size_t sz)
|
||||
{
|
||||
sz = ALIGN_POT(sz, ALIGNMENT);
|
||||
size_t aligned_sz = ALIGN_POT(sz, ALIGNMENT);
|
||||
|
||||
/* Bounds check */
|
||||
if ((mem->stack_bottom + sz) >= mem->bo->size) {
|
||||
if ((mem->stack_bottom + aligned_sz) >= mem->bo->size) {
|
||||
printf("Out of memory, tried to upload %zd but only %zd available\n",
|
||||
sz, mem->bo->size - mem->stack_bottom);
|
||||
assert(0);
|
||||
|
@ -163,6 +163,6 @@ panfrost_upload(struct panfrost_memory *mem, const void *data, size_t sz)
|
|||
memcpy((uint8_t *) mem->bo->cpu + mem->stack_bottom, data, sz);
|
||||
mali_ptr gpu = mem->bo->gpu + mem->stack_bottom;
|
||||
|
||||
mem->stack_bottom += sz;
|
||||
mem->stack_bottom += aligned_sz;
|
||||
return gpu;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue