Hi guys, When working on lima gp compiler, I come across two problems about inserting extra uniform and instructions in nir for the driver and don't know where's the right place to do it. So I'd like to hear your opinion and if there's other driver already did so.
1. viewport transfer lima gp needs embed viewport transfer into vertex shader, so need to insert a uniform which holds the scale and transfer and some instruction to apply the calculation to the gl_Position varying output. If do this in driver callback create_vs_state(), seems won't affect the state tracker to allocate uniform space for it, maybe add something in st_create_vp_variant()? 2. const load lima gp needs const be loaded just as uniform, so I have to allocate uniform space for them. Besides the same problem as 1 (where to do it), the const node may be eliminated after driver nir optimization and won't have a base filed as uniform. Seems some of these (space allocation) need be done in non-driver layer and some (instruction insertion and uniform base assign to const) can be done in driver. BTW. lima gp can only have one uniform buffer, so I can't just use a dedicated uniform buffer for viewport transfer and const uniform. Thanks, Qiang _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev