1 /* 2 * Copyright 2023 Alyssa Rosenzweig 3 * SPDX-License-Identifier: MIT 4 */ 5 6 #pragma once 7 8 #include <stdbool.h> 9 10 struct nir_shader; 11 struct nir_instr; 12 13 bool agx_nir_lower_address(struct nir_shader *shader); 14 bool agx_nir_lower_algebraic_late(struct nir_shader *shader); 15 bool agx_nir_cleanup_amul(struct nir_shader *shader); 16 bool agx_nir_fuse_lea(struct nir_shader *shader); 17 bool agx_nir_lower_lea(struct nir_shader *shader); 18 bool agx_nir_fuse_selects(struct nir_shader *shader); 19 bool agx_nir_fuse_algebraic_late(struct nir_shader *shader); 20 bool agx_nir_fence_images(struct nir_shader *shader); 21 bool agx_nir_lower_layer(struct nir_shader *s); 22 bool agx_nir_lower_clip_distance(struct nir_shader *s); 23 bool agx_nir_lower_subgroups(struct nir_shader *s); 24 bool agx_nir_lower_fminmax(struct nir_shader *s); 25 26 bool agx_nir_lower_texture_early(struct nir_shader *s, bool support_lod_bias); 27 bool agx_nir_lower_texture(struct nir_shader *s); 28 bool agx_nir_lower_multisampled_image_store(struct nir_shader *s); 29 bool agx_nir_needs_texture_crawl(struct nir_instr *instr); 30