glsl/ir: add subroutine lowering pass (v2.3)
authorDave Airlie <airlied@redhat.com>
Thu, 23 Apr 2015 03:34:14 +0000 (13:34 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 23 Jul 2015 07:25:37 +0000 (17:25 +1000)
commit7dd429e8f74302d44af00d051e59911439152369
tree981cfd00a26af8bc66bad43b0890825d2ca6912a
parent65ac360823ee12ac2d1f3bb6758d352fcd0d9210
glsl/ir: add subroutine lowering pass (v2.3)

This lowers the enhanced ir_call using the lookaside table
of subroutines into an if ladder. This initially was done
at the AST level but it caused some ordering issues so a separate
pass was required.

v2: clone return value derefs.
v2.1: update for subroutine->int convert.
v2.2: add a clone for the array index

Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/glsl/Makefile.sources
src/glsl/glsl_parser_extras.cpp
src/glsl/ir_optimization.h
src/glsl/lower_subroutine.cpp [new file with mode: 0644]