[Mesa-dev] [PATCH 0/3] vc4: Rework NIR control flow graph handling

Rhys Kidd rhyskidd at gmail.com
Sat Mar 12 23:34:00 UTC 2016

Short patchset to go some way towards improving the handling of NIR control flow
graphs in vc4.

Whilst in no way completely addressing the known issues this improves piglit
output, provides better internal handlers for loop and function nir_cf_node
types and creates a cleaner base upon which to build.

Fixes the following piglit tests:
- shaders/complex-loop-analysis-bug
- shaders/glsl-fs-discard-04

Converts the following piglit tests from crash to fail:
- shaders/glsl-fs-continue-inside-do-while
- shaders/glsl-fs-loop
- shaders/glsl-fs-loop-continue
- shaders/glsl-fs-loop-nested
- shaders/glsl-texcoord-array
- shaders/glsl-vs-continue-inside-do-while
- shaders/glsl-vs-loop
- shaders/glsl-vs-loop-continue
- shaders/glsl-vs-loop-nested

No piglit regressions.

Importantly, the specific piglit fixes reported were from a debug build of Mesa.

At present there are known vc4 problems exposed by piglit with release builds. I
hope to work on resolving these shortly.

Nonetheless a full piglit run was also done with release builds and I confirm no
regressions were seen.

Rhys Kidd (3):
  vc4: Add better debug of NIR->QIR control flow graph failure
  vc4: Add a helper for NIR->QIR control flow function node
  vc4: Add NIR->QIR control flow graph loops

 src/gallium/drivers/vc4/vc4_program.c | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)


More information about the mesa-dev mailing list