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

Lepton Wu lepton at chromium.org
Wed Jul 24 23:19:04 UTC 2019


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


More information about the mesa-dev mailing list