summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/v3d/v3d_job.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_job.c')
-rw-r--r--src/gallium/drivers/v3d/v3d_job.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/v3d/v3d_job.c b/src/gallium/drivers/v3d/v3d_job.c
index f92aac1a51a..5928e98a71c 100644
--- a/src/gallium/drivers/v3d/v3d_job.c
+++ b/src/gallium/drivers/v3d/v3d_job.c
@@ -267,8 +267,6 @@ v3d_get_job(struct v3d_context *v3d,
job->msaa = true;
}
- v3d_job_set_tile_buffer_size(job);
-
for (int i = 0; i < VC5_MAX_DRAW_BUFFERS; i++) {
if (cbufs[i])
_mesa_hash_table_insert(v3d->write_jobs,
@@ -303,6 +301,11 @@ v3d_get_job_for_fbo(struct v3d_context *v3d)
struct pipe_surface *zsbuf = v3d->framebuffer.zsbuf;
struct v3d_job *job = v3d_get_job(v3d, cbufs, zsbuf);
+ if (v3d->framebuffer.samples >= 1)
+ job->msaa = true;
+
+ v3d_job_set_tile_buffer_size(job);
+
/* The dirty flags are tracking what's been updated while v3d->job has
* been bound, so set them all to ~0 when switching between jobs. We
* also need to reset all state at the start of rendering.