summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/freedreno_draw.c
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2016-05-03 18:36:52 -0400
committerRob Clark <[email protected]>2016-05-04 11:25:55 -0400
commit2e117a7649c1972cf36ec874d852a3e85d4750fa (patch)
tree2620f054edc992bcda3de08a00781129dbe40122 /src/gallium/drivers/freedreno/freedreno_draw.c
parent291ac872a445f3edebd668b27e910a79e1de5a00 (diff)
freedreno: allow ctx->draw_vbo to fail
Pretty much only happens if shader variant compile fails. But in this case, if we haven't emitted cmdstream, we don't want to set needs_flush. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_draw.c')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_draw.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_draw.c b/src/gallium/drivers/freedreno/freedreno_draw.c
index 66bb1163df2..34b1ff6010c 100644
--- a/src/gallium/drivers/freedreno/freedreno_draw.c
+++ b/src/gallium/drivers/freedreno/freedreno_draw.c
@@ -102,8 +102,6 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
return;
}
- ctx->needs_flush = true;
-
/*
* Figure out the buffers/features we need:
*/
@@ -195,7 +193,8 @@ fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
util_format_short_name(pipe_surface_format(pfb->zsbuf)));
fd_hw_query_set_stage(ctx, ctx->ring, FD_STAGE_DRAW);
- ctx->draw_vbo(ctx, info);
+ if (ctx->draw_vbo(ctx, info))
+ ctx->needs_flush = true;
for (i = 0; i < ctx->streamout.num_targets; i++)
ctx->streamout.offsets[i] += info->count;