nir: add nir_lower_uniforms_to_ubo pass

This is a further lowering of default-block uniform loads that transforms
load_uniform intrinsics into load_ubo intrinsics. This simplifies the rest
of the backend.

v2: transform from load_uniform instead of straight from variables

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Nicolai Hähnle
2017-05-20 17:58:25 +02:00
parent bce6f99875
commit e902ac3268
3 changed files with 99 additions and 0 deletions

View File

@@ -2581,6 +2581,7 @@ void nir_lower_bitmap(nir_shader *shader, const nir_lower_bitmap_options *option
bool nir_lower_atomics(nir_shader *shader,
const struct gl_shader_program *shader_program);
bool nir_lower_atomics_to_ssbo(nir_shader *shader, unsigned ssbo_offset);
bool nir_lower_uniforms_to_ubo(nir_shader *shader);
bool nir_lower_to_source_mods(nir_shader *shader);
bool nir_lower_gs_intrinsics(nir_shader *shader);