mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 16:08:04 +02:00
radeonsi: force dcc clear to use compute clear
After the previous commit, when running the following deqp-gles31 caselist: dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba32f_rgba32ui dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba32f_rgba32i The second test always fails on gfx10. I don't know why, but forcing the dcc clear from si_decompress_dcc to use compute fixes the problem. The test caselist wasn't failing before because the dcc disable step was done in si_resource_copy_region, before calling si_compute_copy_image. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8958>
This commit is contained in:
parent
1d64a1045e
commit
90d6365ad4
1 changed files with 8 additions and 2 deletions
|
|
@ -1306,11 +1306,17 @@ void si_decompress_dcc(struct si_context *sctx, struct si_texture *tex)
|
|||
true);
|
||||
}
|
||||
|
||||
/* Now clear DCC metadata to uncompressed. */
|
||||
/* Now clear DCC metadata to uncompressed.
|
||||
*
|
||||
* This uses SI_COMPUTE_CLEAR_METHOD to avoid a failure when running this
|
||||
* deqp caselist on gfx10:
|
||||
* dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba32f_rgba32ui
|
||||
* dEQP-GLES31.functional.image_load_store.2d.format_reinterpret.rgba32f_rgba32i
|
||||
*/
|
||||
uint32_t clear_value = DCC_UNCOMPRESSED;
|
||||
si_clear_buffer(sctx, ptex, tex->surface.dcc_offset,
|
||||
tex->surface.dcc_size, &clear_value, 4,
|
||||
SI_COHERENCY_CB_META, SI_AUTO_SELECT_CLEAR_METHOD);
|
||||
SI_COHERENCY_CB_META, SI_COMPUTE_CLEAR_METHOD);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue