diff options
author | Samuel Pitoiset <[email protected]> | 2016-10-25 21:41:12 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2016-11-07 22:50:17 +0100 |
commit | e32e5d214e4837efdb14c98b2993008e215c3010 (patch) | |
tree | c68bbdedc7bfdf8baefd27f67fffb598c6d7e16e /src/gallium | |
parent | 381edca826ee27b1a49f19b0731c777bdf241b20 (diff) |
nvc0: simplify draw parameters upload for vertex shaders
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c index 69ca091c4c7..650c736f5f2 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_vbo.c @@ -976,19 +976,17 @@ nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info) nvc0_state_validate_3d(nvc0, ~0); - if (nvc0->vertprog->vp.need_draw_parameters) { + if (nvc0->vertprog->vp.need_draw_parameters && !info->indirect) { PUSH_SPACE(push, 9); BEGIN_NVC0(push, NVC0_3D(CB_SIZE), 3); PUSH_DATA (push, NVC0_CB_AUX_SIZE); PUSH_DATAh(push, screen->uniform_bo->offset + NVC0_CB_AUX_INFO(0)); PUSH_DATA (push, screen->uniform_bo->offset + NVC0_CB_AUX_INFO(0)); - if (!info->indirect) { - BEGIN_1IC0(push, NVC0_3D(CB_POS), 1 + 3); - PUSH_DATA (push, NVC0_CB_AUX_DRAW_INFO); - PUSH_DATA (push, info->index_bias); - PUSH_DATA (push, info->start_instance); - PUSH_DATA (push, info->drawid); - } + BEGIN_1IC0(push, NVC0_3D(CB_POS), 1 + 3); + PUSH_DATA (push, NVC0_CB_AUX_DRAW_INFO); + PUSH_DATA (push, info->index_bias); + PUSH_DATA (push, info->start_instance); + PUSH_DATA (push, info->drawid); } if (nvc0->screen->base.class_3d < NVE4_3D_CLASS && |