panvk: don't dirty preloaded tiles for writeback
Tiles that are only touched by the preload shader don't need to be written back, because their contents will be the same. The comment suggests that this was the original intent, and that the value of clean_fragment_write was just swapped by accident. Signed-off-by: Benjamin Lee <benjamin.lee@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31652>
This commit is contained in:
@@ -456,7 +456,7 @@ cmd_emit_dcd(struct panvk_cmd_buffer *cmdbuf,
|
||||
#if PAN_ARCH >= 6
|
||||
/* Until we decide to support FB CRC, we can consider that untouched tiles
|
||||
* should never be written back. */
|
||||
cfg.clean_fragment_write = false;
|
||||
cfg.clean_fragment_write = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -638,7 +638,7 @@ cmd_emit_dcd(struct panvk_cmd_buffer *cmdbuf,
|
||||
cfg.multisample_enable = key->samples > 1;
|
||||
cfg.evaluate_per_sample = key->samples > 1;
|
||||
cfg.maximum_z = 1.0;
|
||||
cfg.clean_fragment_write = false;
|
||||
cfg.clean_fragment_write = true;
|
||||
cfg.shader.resources = res_table.gpu | 1;
|
||||
cfg.shader.shader = panvk_priv_mem_dev_addr(shader->spd);
|
||||
cfg.shader.thread_storage = cmdbuf->state.gfx.tsd;
|
||||
|
Reference in New Issue
Block a user