/* If rasterizer discard is enable, only submit the vertex */
- unsigned vertex = panfrost_add_job(&batch->pool, &batch->scoreboard, MALI_JOB_TYPE_VERTEX, false, 0,
- vertex_job, false);
+ unsigned vertex = panfrost_add_job(&batch->pool, &batch->scoreboard,
+ MALI_JOB_TYPE_VERTEX, false, false,
+ 0, vertex_job, false);
if (ctx->rasterizer->base.rasterizer_discard)
return;
- panfrost_add_job(&batch->pool, &batch->scoreboard, MALI_JOB_TYPE_TILER, false, vertex, tiler_job, false);
+ panfrost_add_job(&batch->pool, &batch->scoreboard, MALI_JOB_TYPE_TILER,
+ false, false, vertex, tiler_job, false);
}
pan_section_pack(t.cpu, COMPUTE_JOB, DRAW_PADDING, cfg);
panfrost_add_job(&batch->pool, &batch->scoreboard,
- MALI_JOB_TYPE_COMPUTE, true, 0, &t, true);
+ MALI_JOB_TYPE_COMPUTE, true, false, 0, &t, true);
panfrost_flush_all_batches(ctx);
}
INVOCATION),
1, vertex_count, 1, 1, 1, 1, true);
- panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_TILER, false, 0, &t, true);
+ panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_TILER, false, false,
+ 0, &t, true);
}
static void
cfg.address = tiler;
}
- panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_TILER, false, 0, &t, true);
+ panfrost_add_job(pool, scoreboard, MALI_JOB_TYPE_TILER, false, false,
+ 0, &t, true);
}
struct pan_pool *pool,
struct pan_scoreboard *scoreboard,
enum mali_job_type type,
- bool barrier,
+ bool barrier, bool suppress_prefetch,
unsigned local_dep,
const struct panfrost_ptr *job,
bool inject)
pan_pack(job->cpu, JOB_HEADER, header) {
header.type = type;
header.barrier = barrier;
+ header.suppress_prefetch = suppress_prefetch;
header.index = index;
header.dependency_1 = local_dep;
header.dependency_2 = global_dep;
struct pan_pool *pool,
struct pan_scoreboard *scoreboard,
enum mali_job_type type,
- bool barrier,
+ bool barrier, bool suppress_prefetch,
unsigned local_dep,
const struct panfrost_ptr *job,
bool inject);