v3d: Implement noperspective varyings on V3D 4.x.
[mesa.git] / src / gallium / drivers / v3d / v3d_program.c
index b5742b3bb1e9ca395972a8ba052fa7333fbaa7d0..85554586a6c1115157b4f9f5cdf0049a1e5803df 100644 (file)
@@ -485,6 +485,11 @@ v3d_update_compiled_fs(struct v3d_context *v3d, uint8_t prim_mode)
                         v3d->dirty |= VC5_DIRTY_FLAT_SHADE_FLAGS;
                 }
 
+                if (v3d->prog.fs->prog_data.fs->noperspective_flags !=
+                    old_fs->prog_data.fs->noperspective_flags) {
+                        v3d->dirty |= VC5_DIRTY_NOPERSPECTIVE_FLAGS;
+                }
+
                 if (v3d->prog.fs->prog_data.fs->centroid_flags !=
                     old_fs->prog_data.fs->centroid_flags) {
                         v3d->dirty |= VC5_DIRTY_CENTROID_FLAGS;
@@ -681,4 +686,6 @@ v3d_program_fini(struct pipe_context *pctx)
                 ralloc_free(shader);
                 _mesa_hash_table_remove(v3d->vs_cache, entry);
         }
+
+        v3d_bo_unreference(&v3d->prog.spill_bo);
 }