xref: /aosp_15_r20/external/mesa3d/src/freedreno/ir3/ir3_image.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2017-2018 Rob Clark <[email protected]>
3  * SPDX-License-Identifier: MIT
4  *
5  * Authors:
6  *    Rob Clark <[email protected]>
7  */
8 
9 #ifndef IR3_IMAGE_H_
10 #define IR3_IMAGE_H_
11 
12 #include "ir3_context.h"
13 
14 void ir3_ibo_mapping_init(struct ir3_ibo_mapping *mapping,
15                           unsigned num_textures);
16 struct ir3_instruction *ir3_ssbo_to_ibo(struct ir3_context *ctx, nir_src src);
17 unsigned ir3_ssbo_to_tex(struct ir3_ibo_mapping *mapping, unsigned ssbo);
18 struct ir3_instruction *ir3_image_to_ibo(struct ir3_context *ctx, nir_src src);
19 unsigned ir3_image_to_tex(struct ir3_ibo_mapping *mapping, unsigned image);
20 
21 unsigned ir3_get_image_coords(const nir_intrinsic_instr *instr,
22                               unsigned *flagsp);
23 type_t ir3_get_type_for_image_intrinsic(const nir_intrinsic_instr *instr);
24 unsigned ir3_get_num_components_for_image_format(enum pipe_format);
25 
26 #endif /* IR3_IMAGE_H_ */
27