Fixes GL45-CTS.compute_shader.conditional-dispatching Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> Cc: mesa-sta...@lists.freedesktop.org --- src/gallium/drivers/nouveau/nvc0/nvc0_query.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_query.c b/src/gallium/drivers/nouveau/nvc0/nvc0_query.c index 68e0a63..24aa5ed 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_query.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_query.c @@ -142,15 +142,17 @@ nvc0_render_condition(struct pipe_context *pipe, nvc0->cond_mode = mode; if (!pq) { - PUSH_SPACE(push, 1); + PUSH_SPACE(push, 2); IMMED_NVC0(push, NVC0_3D(COND_MODE), cond); + if (nvc0->screen->compute) + IMMED_NVC0(push, NVC0_CP(COND_MODE), cond); return; } if (wait) 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); BEGIN_NVC0(push, NVC0_3D(COND_ADDRESS_HIGH), 3); 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); PUSH_DATAh(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 -- 2.10.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev