[Mesa-dev] [RFC PATCH 00/13] Reusing nir xfb gathering for ARB_gl_spirv, wip array of blocks, plus other fixes
Alejandro Piñeiro
apinheiro at igalia.com
Sat Dec 8 11:48:08 UTC 2018
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
More information about the mesa-dev
mailing list