panfrost: Set job requirements during draw
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Thu, 20 Jun 2019 13:37:10 +0000 (15:37 +0200)
committerTomeu Vizoso <tomeu.vizoso@collabora.com>
Thu, 20 Jun 2019 16:07:04 +0000 (18:07 +0200)
Right now we are doing it at a moment when we don't have all the
information we need.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Suggested-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Acked-by: Rohan Garg <rohan.garg@collabora.com>
Cc: Rohan Garg <rohan.garg@collabora.com>
Fixes: bfca21b622df ("panfrost: Figure out job requirements in pan_job.c")

src/gallium/drivers/panfrost/pan_context.c
src/gallium/drivers/panfrost/pan_job.c

index c359d2d..0b888fe 100644 (file)
@@ -1055,6 +1055,8 @@ panfrost_emit_for_draw(struct panfrost_context *ctx, bool with_vertex_data)
                 SET_BIT(ctx->fragment_shader_core.unknown2_4, MALI_NO_MSAA, !msaa);
         }
 
+       panfrost_job_set_requirements(ctx, job);
+
         if (ctx->occlusion_query) {
                 ctx->payload_tiler.gl_enables |= MALI_OCCLUSION_QUERY | MALI_OCCLUSION_PRECISE;
                 ctx->payload_tiler.postfix.occlusion_counter = ctx->occlusion_query->transfer.gpu;
index 7176760..9c5d385 100644 (file)
@@ -90,7 +90,6 @@ panfrost_get_job(struct panfrost_context *ctx,
 
         memcpy(&job->key, &key, sizeof(key));
         _mesa_hash_table_insert(ctx->jobs, &job->key, job);
-        panfrost_job_set_requirements(ctx, job);
 
         return job;
 }