mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-15 11:40:39 +01:00
radv/winsys: fix padding command stream for SI
We were adding pad to size after creating the object, so we could submit a CS bigger than the bo created for it. Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
a81e99f50a
commit
d4b079e708
1 changed files with 6 additions and 4 deletions
|
|
@ -841,7 +841,7 @@ static int radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx,
|
|||
uint32_t *ptr;
|
||||
unsigned cnt = 0;
|
||||
unsigned size = 0;
|
||||
|
||||
unsigned pad_words = 0;
|
||||
if (preamble_cs)
|
||||
size += preamble_cs->cdw;
|
||||
|
||||
|
|
@ -850,6 +850,10 @@ static int radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx,
|
|||
++cnt;
|
||||
}
|
||||
|
||||
while(!size || (size & 7)) {
|
||||
size++;
|
||||
pad_words++;
|
||||
}
|
||||
assert(cnt);
|
||||
|
||||
bo = ws->buffer_create(ws, 4 * size, 4096, RADEON_DOMAIN_GTT, RADEON_FLAG_CPU_ACCESS);
|
||||
|
|
@ -867,10 +871,8 @@ static int radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx,
|
|||
|
||||
}
|
||||
|
||||
while(!size || (size & 7)) {
|
||||
for (unsigned j = 0; j < pad_words; ++j)
|
||||
*ptr++ = pad_word;
|
||||
++size;
|
||||
}
|
||||
|
||||
memset(&request, 0, sizeof(request));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue