diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-12-05 09:06:53 -0500 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-12-06 14:37:17 +0000 |
commit | adf716dc7f17afd841feb86de45dd6bf91678333 (patch) | |
tree | b9dd91041c75eb5897fcace7d322f52886731865 /src/gallium | |
parent | 9eae950342fe96c717c740f0827a572cd41d85fc (diff) |
panfrost: Rename SET_VALUE to WRITE_VALUE
See
https://lists.freedesktop.org/archives/dri-devel/2019-December/247601.html
Write value emphasises that it's just a generic write primitive.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/panfrost/pan_context.c | 4 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_job.h | 2 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_scoreboard.c | 26 |
3 files changed, 16 insertions, 16 deletions
diff --git a/src/gallium/drivers/panfrost/pan_context.c b/src/gallium/drivers/panfrost/pan_context.c index f62d891e196..3b65034b8f8 100644 --- a/src/gallium/drivers/panfrost/pan_context.c +++ b/src/gallium/drivers/panfrost/pan_context.c @@ -109,7 +109,7 @@ panfrost_emit_midg_tiler(struct panfrost_batch *batch, unsigned vertex_count) t.hierarchy_mask = MALI_TILER_USER; t.polygon_list_size = MALI_TILER_MINIMUM_HEADER_SIZE + 4; - /* We don't have a SET_VALUE job, so write the polygon list manually */ + /* We don't have a WRITE_VALUE job, so write the polygon list manually */ uint32_t *polygon_list_body = (uint32_t *) (tiler_dummy->cpu + header_size); polygon_list_body[0] = 0xa0000000; /* TODO: Just that? */ } @@ -182,7 +182,7 @@ panfrost_clear( * the existing batch targeting this FBO has draws. We could probably * avoid that by replacing plain clears by quad-draws with a specific * color/depth/stencil value, thus avoiding the generation of extra - * fragment/set_value jobs. + * fragment jobs. */ struct panfrost_batch *batch = panfrost_get_fresh_batch_for_fbo(ctx); diff --git a/src/gallium/drivers/panfrost/pan_job.h b/src/gallium/drivers/panfrost/pan_job.h index 2a810421caa..c1bee53a610 100644 --- a/src/gallium/drivers/panfrost/pan_job.h +++ b/src/gallium/drivers/panfrost/pan_job.h @@ -100,7 +100,7 @@ struct panfrost_batch { * These arrays contain the headers for the "primary batch", our jargon * referring to the part of the panfrost_job that actually contains * meaningful work. In an OpenGL ES setting, that means the - * SET_VALUE/VERTEX/TILER jobs. Excluded is specifically the FRAGMENT + * WRITE_VALUE/VERTEX/TILER jobs. Excluded is specifically the FRAGMENT * job, which is sent on as a secondary batch containing only a single * hardware job. Since there's one and only one FRAGMENT job issued per * panfrost_job, there is no need to do any scoreboarding / management; diff --git a/src/gallium/drivers/panfrost/pan_scoreboard.c b/src/gallium/drivers/panfrost/pan_scoreboard.c index f09e1e6b04a..dfd8bd2e143 100644 --- a/src/gallium/drivers/panfrost/pan_scoreboard.c +++ b/src/gallium/drivers/panfrost/pan_scoreboard.c @@ -30,7 +30,7 @@ /* * Within a batch (panfrost_job), there are various types of Mali jobs: * - * - SET_VALUE: generic write primitive, used to zero tiler field + * - WRITE_VALUE: generic write primitive, used to zero tiler field * - VERTEX: runs a vertex shader * - TILER: runs tiling and sets up a fragment shader * - FRAGMENT: runs fragment shaders and writes out @@ -267,20 +267,19 @@ panfrost_scoreboard_queue_fused_job_prepend( batch->first_tiler = tiler; } -/* Generates a set value job, used below as part of TILER job scheduling. */ +/* Generates a write value job, used to initialize the tiler structures. */ static struct panfrost_transfer -panfrost_set_value_job(struct panfrost_batch *batch, mali_ptr polygon_list) +panfrost_write_value_job(struct panfrost_batch *batch, mali_ptr polygon_list) { struct mali_job_descriptor_header job = { - .job_type = JOB_TYPE_SET_VALUE, + .job_type = JOB_TYPE_WRITE_VALUE, .job_descriptor_size = 1, }; - struct mali_payload_set_value payload = { + struct mali_payload_write_value payload = { .address = polygon_list, - .value_descriptor = MALI_SET_VALUE_ZERO, - .immediate = 0 + .value_descriptor = MALI_WRITE_VALUE_ZERO, }; struct panfrost_transfer transfer = panfrost_allocate_transient(batch, sizeof(job) + sizeof(payload)); @@ -290,11 +289,12 @@ panfrost_set_value_job(struct panfrost_batch *batch, mali_ptr polygon_list) return transfer; } -/* If there are any tiler jobs, there needs to be a corresponding set value job - * linked to the first vertex job feeding into tiling. */ +/* If there are any tiler jobs, we need to initialize the tiler by writing + * zeroes to a magic tiler structure. We do so via a WRITE_VALUE job linked to + * the first vertex job feeding into tiling. */ static void -panfrost_scoreboard_set_value(struct panfrost_batch *batch) +panfrost_scoreboard_initialize_tiler(struct panfrost_batch *batch) { /* Check if we even need tiling */ if (!batch->last_tiler.gpu) @@ -307,7 +307,7 @@ panfrost_scoreboard_set_value(struct panfrost_batch *batch) MALI_TILER_MINIMUM_HEADER_SIZE); struct panfrost_transfer job = - panfrost_set_value_job(batch, polygon_list); + panfrost_write_value_job(batch, polygon_list); /* Queue it */ panfrost_scoreboard_queue_compute_job(batch, job); @@ -350,7 +350,7 @@ void panfrost_scoreboard_link_batch(struct panfrost_batch *batch) { /* Finalize the batch */ - panfrost_scoreboard_set_value(batch); + panfrost_scoreboard_initialize_tiler(batch); /* Let no_incoming represent the set S described. */ @@ -373,7 +373,7 @@ panfrost_scoreboard_link_batch(struct panfrost_batch *batch) * Proposition: Given a node N of type T, no more than one other node * depends on N. * - * If type is SET_VALUE: The only dependency added against us is from + * If type is WRITE_VALUE: The only dependency added against us is from * the first tiler job, so there is 1 dependent. * * If type is VERTEX: If there is a tiler node, that tiler node depends |