nir/test: add split vars tests (v2)
authorDave Airlie <airlied@redhat.com>
Mon, 13 May 2019 04:19:15 +0000 (14:19 +1000)
committerDave Airlie <airlied@redhat.com>
Tue, 21 May 2019 03:43:28 +0000 (13:43 +1000)
commit4785e50e7531d9bca5a044f3b57aefb95d463ab1
treee8a2dd4a85e498ff332e2f9c3641de00898687e7
parentcf05ffbfd634d384d60cfd3330f4bcbe0f7c3f8d
nir/test: add split vars tests (v2)

This just adds some split var splitting tests, it verifies
by counting derefs and local vars.

a basic load from inputs, store to array,
same as before but with a shader temp
struct { float } [4] don't split test
a basic load from inputs, with some out of band loads.
a load/store of only half the array
two level array, load from inputs store to all levels
a basic load from inputs with an indirect store to array.
two level array, indirect store to lvl 0
two level array, indirect store to lvl 1
load from inputs, store to array twice
load from input, store to array, load from array, store to another array.
load and from input and copy deref to array
create wildcard derefs, and do a copy

v2: use array_imm helpers, move derefs out of loops,
rename toplevel/secondlevel, use ints, fix lvl1 don't split test,
rename globabls to shader_temp, add comment, check the derefs type

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
src/compiler/nir/tests/vars_tests.cpp