summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKristian H. Kristensen <[email protected]>2019-11-07 16:32:24 -0800
committerKristian H. Kristensen <[email protected]>2019-11-07 16:40:27 -0800
commitd2d0c8186d1c3fe929147950cc887a5c5d7978dd (patch)
tree57a99bf2d08aa0fdb5df89f917e8d6858cb71961 /src
parente58479088548a547e4a5df59797adf1f8003feca (diff)
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 <[email protected]> Reviewed-by: Rob Clark <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_draw.c5
1 files 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: