nir: Add an ALU lowering pass for mul_high.
This is based on the glsl/lower_instructions.cpp implementation, but should be much more readable. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -1919,6 +1919,8 @@ typedef struct nir_shader_compiler_options {
|
||||
bool lower_find_lsb;
|
||||
bool lower_uadd_carry;
|
||||
bool lower_usub_borrow;
|
||||
/** Lowers imul_high/umul_high to 16-bit multiplies and carry operations. */
|
||||
bool lower_mul_high;
|
||||
/** lowers fneg and ineg to fsub and isub. */
|
||||
bool lower_negate;
|
||||
/** lowers fsub and isub to fadd+fneg and iadd+ineg. */
|
||||
@@ -2628,6 +2630,7 @@ bool nir_move_vec_src_uses_to_dest(nir_shader *shader);
|
||||
bool nir_lower_vec_to_movs(nir_shader *shader);
|
||||
void nir_lower_alpha_test(nir_shader *shader, enum compare_func func,
|
||||
bool alpha_to_one);
|
||||
bool nir_lower_alu(nir_shader *shader);
|
||||
bool nir_lower_alu_to_scalar(nir_shader *shader);
|
||||
bool nir_lower_load_const_to_scalar(nir_shader *shader);
|
||||
bool nir_lower_read_invocation_to_scalar(nir_shader *shader);
|
||||
|
Reference in New Issue
Block a user