diff options
author | Jason Ekstrand <[email protected]> | 2015-01-21 15:23:32 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-02-03 12:33:11 -0800 |
commit | f2adcd36cb4f95d13bd820c3ba51451a9bf1df4f (patch) | |
tree | bb162d1ca2b8a98fe7ef14a7b34026e282452f28 /src/glsl/nir/nir.h | |
parent | e87928a494a7cf0985a9d1cd78bda8729d17c614 (diff) |
nir: Add a pass to lower vector phi nodes to scalar phi nodes
v2 Jason Ekstrand <[email protected]>:
- Add better comments
- Use nir_ssa_dest_init and nir_src_for_ssa more places
- Fix some void * casts
v3 Jason Ekstrand <[email protected]>:
- Rework the way we determine whether or not to sccalarize a phi node to
make the recursion non-bogus
- Treat load_const instructions as scalarizable
v4 Jason Ekstrand <[email protected]>:
- Allow uniform and input loads to be scalarizable
v5 Jason Ekstrand <[email protected]>:
- Also consider loads of inputs (varying, uniform, or ubo) to be
scalarizable. We were already doing this for load_var on uniforms and
inputs.
Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/nir/nir.h')
-rw-r--r-- | src/glsl/nir/nir.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/glsl/nir/nir.h b/src/glsl/nir/nir.h index 98d26896019..866ac5d4751 100644 --- a/src/glsl/nir/nir.h +++ b/src/glsl/nir/nir.h @@ -1527,6 +1527,8 @@ void nir_remove_dead_variables(nir_shader *shader); void nir_lower_vec_to_movs(nir_shader *shader); void nir_lower_alu_to_scalar(nir_shader *shader); +void nir_lower_phis_to_scalar(nir_shader *shader); + void nir_lower_samplers(nir_shader *shader, struct gl_shader_program *shader_program, struct gl_program *prog); |