From: Kristian H. Kristensen Date: Fri, 8 Nov 2019 00:32:24 +0000 (-0800) Subject: freedreno/a6xx: Only set emit.hs/ds when we're drawing patches X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d2d0c8186d1c3fe929147950cc887a5c5d7978dd;p=mesa.git 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 --- 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: