[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