Hi Jason, as we were talking about arrays of blocks, xfb and other etc, I decided to clean up the code I have so far, and send a new RFC, so you know more or less what I have been doing.
With this series most of the xfb tests I have wrotten pass so far (that includes arrays of structs, arrays of arrays of basic simples). The only pending thing is how to deal with arrays of blocks of input/output interface blocks, because as I told you privately, right now locations are overlapping. It is worth to note that due the same reason, a basic test using input/output interface blocks now are regressing. It worked before the block being splitted, and fails now. I assume that due the same reason. You can also find this series here: https://github.com/Igalia/mesa/tree/apinheiro/rfc2-xfb And the piglit series that adds xfb tests and a non-xfb array of blocks tests (that as I mentioned, regresses) here: https://github.com/Igalia/piglit/tree/apinheiro/xfb Alejandro Piñeiro (13): spirv/nir: update Xfb decoration comment nir: don't assert when xfb_buffer/stride is present but not xfb_offset nir: fix output offset compute for dvec3/4 nir: add component_offset at nir_xfb_info spirv/nir: fixing the xfb_offset for arrays of structs nir: fixing the xfb_offset for arrays of structs spirv/nir: use array_element as interface_type for any array spirv/nir: interface_type should only be set for blocks, not any structs nir/spirv: only expose interface type for arrays of interface blocks nir/xfb: WIP: handle xfb buffer/offset rule for block arrays nir: adding varyings on nir_xfb_info and gather_info nir/xfb_info: handle arrays and AoA of basic types nir/linker: use nir_gather_xfb_info src/compiler/glsl/gl_nir_link_xfb.c | 252 +++++++------------------ src/compiler/nir/nir_gather_xfb_info.c | 162 +++++++++++++--- src/compiler/nir/nir_xfb_info.h | 25 ++- src/compiler/spirv/spirv_to_nir.c | 2 +- src/compiler/spirv/vtn_variables.c | 68 ++++--- 5 files changed, 270 insertions(+), 239 deletions(-) -- 2.19.1 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
