[Mesa-dev] [PATCH] radv: emit framebuffer state from primary if secondary doesn't herit it

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Mon Jun 17 09:21:59 UTC 2019


Can we fix the title?(inherit)

On Thu, Jun 13, 2019, 1:53 PM Samuel Pitoiset <samuel.pitoiset at gmail.com>
wrote:

> Otherwise fast color/depth clears can't work because they depend
> on the framebuffer.
>
> This fixes the following CTS (when the small hint is disabled):
> - dEQP-VK.geometry.layered.1d_array.secondary_cmd_buffer
> - dEQP-VK.geometry.layered.2d_array.secondary_cmd_buffer
> - dEQP-VK.geometry.layered.cube.secondary_cmd_buffer
> - dEQP-VK.geometry.layered.cube_array.secondary_cmd_buffer
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110810
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107986


So why is 107986 in here?

Also can we remove 110810? This patch only solves half the issue. (Subpass
clears still need the inherited state)



> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
> ---
>  src/amd/vulkan/radv_cmd_buffer.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/src/amd/vulkan/radv_cmd_buffer.c
> b/src/amd/vulkan/radv_cmd_buffer.c
> index 2fd5f8b7a07..b59d78f1829 100644
> --- a/src/amd/vulkan/radv_cmd_buffer.c
> +++ b/src/amd/vulkan/radv_cmd_buffer.c
> @@ -3680,6 +3680,15 @@ void radv_CmdExecuteCommands(
>                 if (secondary->sample_positions_needed)
>                         primary->sample_positions_needed = true;
>
> +               if (!secondary->state.framebuffer &&
> +                   (primary->state.dirty & RADV_CMD_DIRTY_FRAMEBUFFER)) {
> +                       /* Emit the framebuffer state from primary if
> secondary
> +                        * has been recorded without a framebuffer,
> otherwise
> +                        * fast color/depth clears can't work.
> +                        */
> +                       radv_emit_framebuffer_state(primary);
> +               }
>

Clear the framebuffer dirty bit?

> +
>                 primary->device->ws->cs_execute_secondary(primary->cs,
> secondary->cs);
>
>
> --
> 2.22.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190617/42c45451/attachment-0001.html>


More information about the mesa-dev mailing list