diff options
Diffstat (limited to 'src/gallium/drivers/freedreno/a6xx/fd6_draw.c')
-rw-r--r-- | src/gallium/drivers/freedreno/a6xx/fd6_draw.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_draw.c b/src/gallium/drivers/freedreno/a6xx/fd6_draw.c index dd9c75051c9..810bdf0ca79 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_draw.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_draw.c @@ -178,10 +178,16 @@ fd6_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info, .primitive_restart = info->primitive_restart && info->index_size, }; + if (!(ctx->prog.vs && ctx->prog.fs)) + return false; + if (info->mode == PIPE_PRIM_PATCHES) { emit.key.hs = ctx->prog.hs; emit.key.ds = ctx->prog.ds; + if (!(ctx->prog.hs && ctx->prog.ds)) + return false; + shader_info *ds_info = &emit.key.ds->nir->info; emit.key.key.tessellation = ir3_tess_mode(ds_info->tess.primitive_mode); } |