nvc0: take extra pushbuf space into account for pushbuf_space calls
See detailed explanation of why this is needed in commiteb60a89bc3
. This spot was missed/overlooked. Basically as a result of the fact that BEGIN_* ends up calling PUSH_SPACE, which in turn adds an extra 8 to the requested amount, we have to be mindful of that when doing bare nouveau_pushbuf_space calls. Reportedly this fixes some crashes when replaying a hitman trace taken on radeonsi. Fixes:eb60a89bc3
("nouveau: take extra push space into account for pushbuf_space calls") Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org> Reported-by: Karol Herbst <nouveau@karolherbst.de> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
parent
32dd8d59b6
commit
8e6d67685e
|
@ -515,7 +515,7 @@ nve4_compute_upload_input(struct nvc0_context *nvc0,
|
|||
struct nv04_resource *res = nv04_resource(info->indirect);
|
||||
uint32_t offset = res->offset + info->indirect_offset;
|
||||
|
||||
nouveau_pushbuf_space(push, 16, 0, 1);
|
||||
nouveau_pushbuf_space(push, 32, 0, 1);
|
||||
PUSH_REFN(push, res->bo, NOUVEAU_BO_RD | res->domain);
|
||||
|
||||
BEGIN_1IC0(push, NVE4_CP(UPLOAD_EXEC), 1 + 8);
|
||||
|
@ -655,7 +655,7 @@ nve4_launch_grid(struct pipe_context *pipe, const struct pipe_grid_info *info)
|
|||
PUSH_DATA (push, 8);
|
||||
PUSH_DATA (push, 1);
|
||||
|
||||
nouveau_pushbuf_space(push, 16, 0, 1);
|
||||
nouveau_pushbuf_space(push, 32, 0, 1);
|
||||
PUSH_REFN(push, res->bo, NOUVEAU_BO_RD | res->domain);
|
||||
|
||||
BEGIN_1IC0(push, NVE4_CP(UPLOAD_EXEC), 1 + (8 / 4));
|
||||
|
|
Loading…
Reference in New Issue