[Mesa-dev] [PATCH 2/2] radv: always initialize levels without DCC as fully expanded
Bas Nieuwenhuizen
bas at basnieuwenhuizen.nl
Mon Jun 24 23:41:44 UTC 2019
r-b for this patch only.
On Mon, Jun 24, 2019 at 5:00 PM Samuel Pitoiset
<samuel.pitoiset at gmail.com> wrote:
>
> This fixes a rendering issue with RoTR/DXVK.
>
> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
> src/amd/vulkan/radv_cmd_buffer.c | 32 +++++++++++++++-----------------
> 1 file changed, 15 insertions(+), 17 deletions(-)
>
> diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c
> index 9b4d4528028..733795eb1a4 100644
> --- a/src/amd/vulkan/radv_cmd_buffer.c
> +++ b/src/amd/vulkan/radv_cmd_buffer.c
> @@ -4960,26 +4960,24 @@ void radv_initialize_dcc(struct radv_cmd_buffer *cmd_buffer,
> * support fast clears and we have to initialize them as "fully
> * expanded".
> */
> - if (image->planes[0].surface.num_dcc_levels > 1) {
> - /* Compute the size of all fast clearable DCC levels. */
> - for (unsigned i = 0; i < image->planes[0].surface.num_dcc_levels; i++) {
> - struct legacy_surf_level *surf_level =
> - &image->planes[0].surface.u.legacy.level[i];
> + /* Compute the size of all fast clearable DCC levels. */
> + for (unsigned i = 0; i < image->planes[0].surface.num_dcc_levels; i++) {
> + struct legacy_surf_level *surf_level =
> + &image->planes[0].surface.u.legacy.level[i];
>
> - if (!surf_level->dcc_fast_clear_size)
> - break;
> + if (!surf_level->dcc_fast_clear_size)
> + break;
>
> - size = surf_level->dcc_offset + surf_level->dcc_fast_clear_size;
> - }
> + size = surf_level->dcc_offset + surf_level->dcc_fast_clear_size;
> + }
>
> - /* Initialize the mipmap levels without DCC. */
> - if (size != image->planes[0].surface.dcc_size) {
> - state->flush_bits |=
> - radv_fill_buffer(cmd_buffer, image->bo,
> - image->offset + image->dcc_offset + size,
> - image->planes[0].surface.dcc_size - size,
> - 0xffffffff);
> - }
> + /* Initialize the mipmap levels without DCC. */
> + if (size != image->planes[0].surface.dcc_size) {
> + state->flush_bits |=
> + radv_fill_buffer(cmd_buffer, image->bo,
> + image->offset + image->dcc_offset + size,
> + image->planes[0].surface.dcc_size - size,
> + 0xffffffff);
> }
> }
>
> --
> 2.22.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list