<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 1, 2017 at 5:47 AM, Pohjolainen, Topi <span dir="ltr"><<a href="mailto:topi.pohjolainen@gmail.com" target="_blank">topi.pohjolainen@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, Nov 27, 2017 at 07:06:04PM -0800, Jason Ekstrand wrote:<br>
> This seems slightly more correct because it means that the flushes<br>
> happen before any clears or resolves implied by the subpass transition.<br>
<br>
</span>After reading the next patch this patch seems incomplete both before<br>
and after. Next patch seems to explicitly consider that flushes are<br>
needed before and after whereas at this point it would be only<br>
before (when this patch is applied) or after (without this patch).<br>
<br>
I guess something else holds things together, I'm just not seeing<br>
it?<br><div><div class="h5"></div></div></blockquote><div><br></div><div>I think so.  In either case, what really matters is that the subpass flushes happen before the next draw call.  The only change made here is that before they would get triggered by the next draw call and now they may get triggered by a clear or resolve that happens as part of set_subpass.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
> ---<br>
>  src/intel/vulkan/genX_cmd_<wbr>buffer.c | 8 ++++----<br>
>  1 file changed, 4 insertions(+), 4 deletions(-)<br>
><br>
> diff --git a/src/intel/vulkan/genX_cmd_<wbr>buffer.c b/src/intel/vulkan/genX_cmd_<wbr>buffer.c<br>
> index 2d47179..bbe97f5 100644<br>
> --- a/src/intel/vulkan/genX_cmd_<wbr>buffer.c<br>
> +++ b/src/intel/vulkan/genX_cmd_<wbr>buffer.c<br>
> @@ -3197,10 +3197,10 @@ void genX(CmdBeginRenderPass)(<br>
><br>
>     genX(flush_pipeline_select_3d)<wbr>(cmd_buffer);<br>
><br>
> -   genX(cmd_buffer_set_subpass)(<wbr>cmd_buffer, pass->subpasses);<br>
> -<br>
>     cmd_buffer->state.pending_<wbr>pipe_bits |=<br>
>        cmd_buffer->state.pass-><wbr>subpass_flushes[0];<br>
> +<br>
> +   genX(cmd_buffer_set_subpass)(<wbr>cmd_buffer, pass->subpasses);<br>
>  }<br>
><br>
>  void genX(CmdNextSubpass)(<br>
> @@ -3220,11 +3220,11 @@ void genX(CmdNextSubpass)(<br>
>      */<br>
>     cmd_buffer_subpass_transition_<wbr>layouts(cmd_buffer, true);<br>
><br>
> -   genX(cmd_buffer_set_subpass)(<wbr>cmd_buffer, cmd_buffer->state.subpass + 1);<br>
> -<br>
>     uint32_t subpass_id = anv_get_subpass_id(&cmd_<wbr>buffer->state);<br>
>     cmd_buffer->state.pending_<wbr>pipe_bits |=<br>
>        cmd_buffer->state.pass-><wbr>subpass_flushes[subpass_id];<br>
> +<br>
> +   genX(cmd_buffer_set_subpass)(<wbr>cmd_buffer, cmd_buffer->state.subpass + 1);<br>
>  }<br>
><br>
>  void genX(CmdEndRenderPass)(<br>
> --<br>
> 2.5.0.400.gff86faf<br>
><br>
</div></div>> ______________________________<wbr>_________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br></div></div>