glsl: Add a lowering pass to turn complicated UBO references to vector loads.
v2: Reduce the impenetrable code in emit_ubo_loads() by 23 lines by keeping the ir_variable as the variable part of the offset from handle_rvalue(), and track the constant offsets from that with a plain old integer value, avoiding a bunch of temporary variables in the array and struct handling. Also, fix file description doxygen. v3: Fix a row vs col typo, and fix spelling in a comment. Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -74,6 +74,7 @@ bool lower_variable_index_to_cond_assign(exec_list *instructions,
|
||||
bool lower_quadop_vector(exec_list *instructions, bool dont_lower_swz);
|
||||
bool lower_clip_distance(exec_list *instructions);
|
||||
void lower_output_reads(exec_list *instructions);
|
||||
void lower_ubo_reference(struct gl_shader *shader, exec_list *instructions);
|
||||
bool optimize_redundant_jumps(exec_list *instructions);
|
||||
bool optimize_split_arrays(exec_list *instructions, bool linked);
|
||||
|
||||
|
Reference in New Issue
Block a user