From 88a8d7f76f0ef54af73713243ab1c32f3d5b1ed7 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Sun, 11 Jul 2021 16:37:39 -0400 Subject: [PATCH] asahi: Set point magic bit in rasterizer Signed-off-by: Alyssa Rosenzweig Part-of: --- src/gallium/drivers/asahi/agx_state.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index 208ea63dec1..dc477256ccd 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -1321,7 +1321,7 @@ demo_linkage(struct agx_compiled_shader *vs, struct agx_pool *pool) } static uint64_t -demo_rasterizer(struct agx_context *ctx, struct agx_pool *pool) +demo_rasterizer(struct agx_context *ctx, struct agx_pool *pool, bool is_points) { struct agx_rasterizer *rast = ctx->rast; struct agx_rasterizer_packed out; @@ -1336,6 +1336,8 @@ demo_rasterizer(struct agx_context *ctx, struct agx_pool *pool) cfg.front.line_width = cfg.back.line_width = rast->line_width; cfg.front.polygon_mode = cfg.back.polygon_mode = AGX_POLYGON_MODE_FILL; + cfg.unk_fill_lines = is_points; /* XXX: what is this? */ + /* Always enable scissoring so we may scissor to the viewport (TODO: * optimize this out if the viewport is the default and the app does not * use the scissor test) */ @@ -1439,7 +1441,7 @@ agx_encode_state(struct agx_context *ctx, uint8_t *out, agx_push_record(&out, 5, demo_interpolation(ctx->fs, pool)); agx_push_record(&out, 5, demo_launch_fragment(ctx, pool, pipeline_fragment, varyings, ctx->fs->info.varyings.nr_descs)); agx_push_record(&out, 4, demo_linkage(ctx->vs, pool)); - agx_push_record(&out, 7, demo_rasterizer(ctx, pool)); + agx_push_record(&out, 7, demo_rasterizer(ctx, pool, is_points)); agx_push_record(&out, 5, demo_unk11(pool, is_lines, is_points, reads_tib)); if (ctx->dirty & (AGX_DIRTY_VIEWPORT | AGX_DIRTY_SCISSOR)) {