[Mesa-dev] A question about order of st_update_*p

Lepton Wu lepton at chromium.org
Fri Jul 26 19:58:04 UTC 2019


If shader A depends on shader B,  should we put st_update_shaderB  in
front of st_update_shaderA?

Now the order looks like reversed...

On Fri, Jul 26, 2019 at 12:34 PM Marek Olšák <maraeo at gmail.com> wrote:
>
> 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.
>
> Marek
>
> On Wed, Jul 24, 2019 at 7:19 PM Lepton Wu <lepton at chromium.org> wrote:
>>
>> In src/mesa/state_tracker/st_atom_list.h,
>>
>> Now it's this order:
>>
>> ST_STATE(ST_NEW_FS_STATE, st_update_fp)
>> ST_STATE(ST_NEW_GS_STATE, st_update_gp)
>> ST_STATE(ST_NEW_TES_STATE, st_update_tep)
>> ST_STATE(ST_NEW_TCS_STATE, st_update_tcp)
>> ST_STATE(ST_NEW_VS_STATE, st_update_vp)
>>
>> While code in
>> src/mesa/state_tracker/st_atom.c:
>>
>> while (dirty_lo)
>>      update_functions[u_bit_scan(&dirty_lo)](st);
>>
>> That means if will call st_update_fp first and then st_update_gp... etc.
>>
>> But this is inconsistent with opengl pipeline: should we reverse the
>> order here or I missed something?
>>
>> Background:
>>
>> https://gitlab.freedesktop.org/virgl/virglrenderer/issues/114
>> _______________________________________________
>> 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