X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fintel%2Fcommon%2Fgen_aux_map.h;h=70ff34aab5e80b9daf4c32e3c0f3998e0ce6e43b;hb=ed9ac3d60cffc60d97f5ddc168643ed7656224bf;hp=4dc919953f32de3185b494a164a3593cec9f67fa;hpb=0d0290bb3f74ecb794ec5f0d8fa07709ba3e4ad4;p=mesa.git diff --git a/src/intel/common/gen_aux_map.h b/src/intel/common/gen_aux_map.h index 4dc919953f3..70ff34aab5e 100644 --- a/src/intel/common/gen_aux_map.h +++ b/src/intel/common/gen_aux_map.h @@ -43,6 +43,14 @@ extern "C" { struct gen_aux_map_context; struct gen_device_info; +#define GEN_AUX_MAP_ADDRESS_MASK 0x0000ffffffffff00ull +#define GEN_AUX_MAP_FORMAT_BITS_MASK 0xfff0000000000000ull +#define GEN_AUX_MAP_ENTRY_VALID_BIT 0x1ull +#define GEN_AUX_MAP_GEN12_CCS_SCALE 256 +#define GEN_AUX_MAP_MAIN_PAGE_SIZE (64 * 1024) +#define GEN_AUX_MAP_AUX_PAGE_SIZE \ + (GEN_AUX_MAP_MAIN_PAGE_SIZE / GEN_AUX_MAP_GEN12_CCS_SCALE) + struct gen_aux_map_context * gen_aux_map_init(void *driver_ctx, struct gen_mapped_pinned_buffer_alloc *buffer_alloc, @@ -76,6 +84,19 @@ gen_aux_map_fill_bos(struct gen_aux_map_context *ctx, void **driver_bos, uint64_t gen_aux_map_get_base(struct gen_aux_map_context *ctx); +uint64_t +gen_aux_map_format_bits_for_isl_surf(const struct isl_surf *isl_surf); + +uint64_t * +gen_aux_map_get_entry(struct gen_aux_map_context *ctx, + uint64_t address, + uint64_t *entry_address); + +void +gen_aux_map_add_mapping(struct gen_aux_map_context *ctx, uint64_t address, + uint64_t aux_address, uint64_t main_size_B, + uint64_t format_bits); + void gen_aux_map_add_image(struct gen_aux_map_context *ctx, const struct isl_surf *isl_surf, uint64_t address,