From d2d0c8186d1c3fe929147950cc887a5c5d7978dd Mon Sep 17 00:00:00 2001 From: "Kristian H. Kristensen" Date: Thu, 7 Nov 2019 16:32:24 -0800 Subject: [PATCH] freedreno/a6xx: Only set emit.hs/ds when we're drawing patches At least the gallium blitter helper will call us to draw with tessellation shaders set but a non-patch primitive. Signed-off-by: Kristian H. Kristensen Reviewed-by: Rob Clark --- src/gallium/drivers/freedreno/a6xx/fd6_draw.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_draw.c b/src/gallium/drivers/freedreno/a6xx/fd6_draw.c index 4a36b7e7c9a..37ff241f2b1 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_draw.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_draw.c @@ -129,8 +129,6 @@ fd6_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info, .info = info, .key = { .vs = ctx->prog.vs, - .hs = ctx->prog.hs, - .ds = ctx->prog.ds, .gs = ctx->prog.gs, .fs = ctx->prog.fs, .key = { @@ -158,6 +156,9 @@ fd6_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info, }; if (info->mode == PIPE_PRIM_PATCHES) { + emit.key.hs = ctx->prog.hs; + emit.key.ds = ctx->prog.ds; + shader_info *ds_info = &emit.key.ds->nir->info; switch (ds_info->tess.primitive_mode) { case GL_ISOLINES: -- 2.30.2