freedreno: also mark draw-indirect buffer as read

Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
Rob Clark 2017-11-29 09:04:08 -05:00
parent 4b1d0d2844
commit f93f2f7b1e
1 changed files with 7 additions and 0 deletions

View File

@ -197,6 +197,10 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
/* Mark index buffer as being read */
resource_read(batch, indexbuf);
/* Mark indirect draw buffer as being read */
if (info->indirect)
resource_read(batch, info->indirect->buffer);
/* Mark textures as being read */
foreach_bit(i, ctx->tex[PIPE_SHADER_VERTEX].valid_textures)
resource_read(batch, ctx->tex[PIPE_SHADER_VERTEX].textures[i]->texture);
@ -475,6 +479,9 @@ fd_launch_grid(struct pipe_context *pctx, const struct pipe_grid_info *info)
foreach_bit(i, ctx->tex[PIPE_SHADER_COMPUTE].valid_textures)
resource_read(batch, ctx->tex[PIPE_SHADER_COMPUTE].textures[i]->texture);
if (info->indirect)
resource_read(batch, info->indirect);
mtx_unlock(&ctx->screen->lock);
ctx->launch_grid(ctx, info);