mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
nvc0: set the render condition in the compute object
Fixes GL45-CTS.compute_shader.conditional-dispatching
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: mesa-stable@lists.freedesktop.org
(cherry picked from commit 48f04862c1)
This commit is contained in:
parent
0b78455be3
commit
37ca4e2432
1 changed files with 10 additions and 2 deletions
|
|
@ -142,15 +142,17 @@ nvc0_render_condition(struct pipe_context *pipe,
|
||||||
nvc0->cond_mode = mode;
|
nvc0->cond_mode = mode;
|
||||||
|
|
||||||
if (!pq) {
|
if (!pq) {
|
||||||
PUSH_SPACE(push, 1);
|
PUSH_SPACE(push, 2);
|
||||||
IMMED_NVC0(push, NVC0_3D(COND_MODE), cond);
|
IMMED_NVC0(push, NVC0_3D(COND_MODE), cond);
|
||||||
|
if (nvc0->screen->compute)
|
||||||
|
IMMED_NVC0(push, NVC0_CP(COND_MODE), cond);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wait)
|
if (wait)
|
||||||
nvc0_hw_query_fifo_wait(nvc0, q);
|
nvc0_hw_query_fifo_wait(nvc0, q);
|
||||||
|
|
||||||
PUSH_SPACE(push, 7);
|
PUSH_SPACE(push, 10);
|
||||||
PUSH_REFN (push, hq->bo, NOUVEAU_BO_GART | NOUVEAU_BO_RD);
|
PUSH_REFN (push, hq->bo, NOUVEAU_BO_GART | NOUVEAU_BO_RD);
|
||||||
BEGIN_NVC0(push, NVC0_3D(COND_ADDRESS_HIGH), 3);
|
BEGIN_NVC0(push, NVC0_3D(COND_ADDRESS_HIGH), 3);
|
||||||
PUSH_DATAh(push, hq->bo->offset + hq->offset);
|
PUSH_DATAh(push, hq->bo->offset + hq->offset);
|
||||||
|
|
@ -159,6 +161,12 @@ nvc0_render_condition(struct pipe_context *pipe,
|
||||||
BEGIN_NVC0(push, NVC0_2D(COND_ADDRESS_HIGH), 2);
|
BEGIN_NVC0(push, NVC0_2D(COND_ADDRESS_HIGH), 2);
|
||||||
PUSH_DATAh(push, hq->bo->offset + hq->offset);
|
PUSH_DATAh(push, hq->bo->offset + hq->offset);
|
||||||
PUSH_DATA (push, hq->bo->offset + hq->offset);
|
PUSH_DATA (push, hq->bo->offset + hq->offset);
|
||||||
|
if (nvc0->screen->compute) {
|
||||||
|
BEGIN_NVC0(push, NVC0_CP(COND_ADDRESS_HIGH), 3);
|
||||||
|
PUSH_DATAh(push, hq->bo->offset + hq->offset);
|
||||||
|
PUSH_DATA (push, hq->bo->offset + hq->offset);
|
||||||
|
PUSH_DATA (push, cond);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue