<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri., Jul. 26, 2019, 15:58 Lepton Wu, <<a href="mailto:lepton@chromium.org">lepton@chromium.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If shader A depends on shader B,  should we put st_update_shaderB  in<br>
front of st_update_shaderA?<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">That's the current order. The order of GPU execution doesn't matter.</div><div dir="auto"><br></div><div dir="auto">M.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Now the order looks like reversed...<br>
<br>
On Fri, Jul 26, 2019 at 12:34 PM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank" rel="noreferrer">maraeo@gmail.com</a>> wrote:<br>
><br>
> The order shouldn't matter, but there can be a reason behind it, e.g. if a shader depends on the update of the following shader.<br>
><br>
> Marek<br>
><br>
> On Wed, Jul 24, 2019 at 7:19 PM Lepton Wu <<a href="mailto:lepton@chromium.org" target="_blank" rel="noreferrer">lepton@chromium.org</a>> wrote:<br>
>><br>
>> In src/mesa/state_tracker/st_atom_list.h,<br>
>><br>
>> Now it's this order:<br>
>><br>
>> ST_STATE(ST_NEW_FS_STATE, st_update_fp)<br>
>> ST_STATE(ST_NEW_GS_STATE, st_update_gp)<br>
>> ST_STATE(ST_NEW_TES_STATE, st_update_tep)<br>
>> ST_STATE(ST_NEW_TCS_STATE, st_update_tcp)<br>
>> ST_STATE(ST_NEW_VS_STATE, st_update_vp)<br>
>><br>
>> While code in<br>
>> src/mesa/state_tracker/st_atom.c:<br>
>><br>
>> while (dirty_lo)<br>
>>      update_functions[u_bit_scan(&dirty_lo)](st);<br>
>><br>
>> That means if will call st_update_fp first and then st_update_gp... etc.<br>
>><br>
>> But this is inconsistent with opengl pipeline: should we reverse the<br>
>> order here or I missed something?<br>
>><br>
>> Background:<br>
>><br>
>> <a href="https://gitlab.freedesktop.org/virgl/virglrenderer/issues/114" rel="noreferrer noreferrer" target="_blank">https://gitlab.freedesktop.org/virgl/virglrenderer/issues/114</a><br>
>> _______________________________________________<br>
>> mesa-dev mailing list<br>
>> <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank" rel="noreferrer">mesa-dev@lists.freedesktop.org</a><br>
>> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div></div></div>