Lines Matching refs:aux
341 iris_bo_unreference(res->aux.bo); in iris_resource_disable_aux()
342 iris_bo_unreference(res->aux.clear_color_bo); in iris_resource_disable_aux()
343 free(res->aux.state); in iris_resource_disable_aux()
345 res->aux.usage = ISL_AUX_USAGE_NONE; in iris_resource_disable_aux()
346 res->aux.possible_usages = 1 << ISL_AUX_USAGE_NONE; in iris_resource_disable_aux()
347 res->aux.sampler_usages = 1 << ISL_AUX_USAGE_NONE; in iris_resource_disable_aux()
348 res->aux.has_hiz = 0; in iris_resource_disable_aux()
349 res->aux.surf.size_B = 0; in iris_resource_disable_aux()
350 res->aux.bo = NULL; in iris_resource_disable_aux()
351 res->aux.extra_aux.surf.size_B = 0; in iris_resource_disable_aux()
352 res->aux.clear_color_bo = NULL; in iris_resource_disable_aux()
353 res->aux.state = NULL; in iris_resource_disable_aux()
385 res->aux.possible_usages = 1 << ISL_AUX_USAGE_NONE; in iris_alloc_resource()
386 res->aux.sampler_usages = 1 << ISL_AUX_USAGE_NONE; in iris_alloc_resource()
406 assert(res->aux.state == NULL); in create_aux_state_map()
451 if (devinfo->gen >= 12 && isl_aux_usage_has_ccs(res->aux.usage)) { in map_aux_addresses()
454 const unsigned aux_offset = res->aux.extra_aux.surf.size_B > 0 ? in map_aux_addresses()
455 res->aux.extra_aux.offset : res->aux.offset; in map_aux_addresses()
459 res->aux.bo->gtt_offset + aux_offset, in map_aux_addresses()
461 res->bo->aux_map_address = res->aux.bo->gtt_offset; in map_aux_addresses()
594 isl_surf_get_mcs_surf(&screen->isl_dev, &res->surf, &res->aux.surf); in iris_resource_configure_aux()
597 isl_surf_get_hiz_surf(&screen->isl_dev, &res->surf, &res->aux.surf); in iris_resource_configure_aux()
602 isl_surf_get_ccs_surf(&screen->isl_dev, &res->surf, &res->aux.surf, in iris_resource_configure_aux()
603 &res->aux.extra_aux.surf, 0); in iris_resource_configure_aux()
610 assert(res->aux.extra_aux.surf.size_B > 0 && in iris_resource_configure_aux()
611 res->aux.extra_aux.surf.usage & ISL_SURF_USAGE_CCS_BIT); in iris_resource_configure_aux()
612 assert(res->aux.surf.size_B > 0 && in iris_resource_configure_aux()
613 res->aux.surf.usage & in iris_resource_configure_aux()
619 res->aux.possible_usages |= 1 << res->mod_info->aux_usage; in iris_resource_configure_aux()
621 res->aux.possible_usages |= in iris_resource_configure_aux()
625 res->aux.possible_usages |= 1 << ISL_AUX_USAGE_HIZ; in iris_resource_configure_aux()
632 res->aux.possible_usages |= 1 << ISL_AUX_USAGE_HIZ_CCS_WT; in iris_resource_configure_aux()
634 res->aux.possible_usages |= 1 << ISL_AUX_USAGE_HIZ_CCS; in iris_resource_configure_aux()
637 res->aux.possible_usages |= 1 << ISL_AUX_USAGE_STC_CCS; in iris_resource_configure_aux()
640 res->aux.possible_usages |= devinfo->gen < 12 ? in iris_resource_configure_aux()
643 res->aux.possible_usages |= 1 << ISL_AUX_USAGE_CCS_D; in iris_resource_configure_aux()
647 res->aux.usage = util_last_bit(res->aux.possible_usages) - 1; in iris_resource_configure_aux()
649 res->aux.sampler_usages = res->aux.possible_usages; in iris_resource_configure_aux()
655 res->aux.sampler_usages &= ~(1 << ISL_AUX_USAGE_HIZ); in iris_resource_configure_aux()
658 res->aux.sampler_usages &= ~(1 << ISL_AUX_USAGE_HIZ_CCS); in iris_resource_configure_aux()
661 assert(!res->aux.bo); in iris_resource_configure_aux()
663 switch (res->aux.usage) { in iris_resource_configure_aux()
707 assert(res->aux.usage != ISL_AUX_USAGE_STC_CCS); in iris_resource_configure_aux()
719 res->aux.state = create_aux_state_map(res, initial_state); in iris_resource_configure_aux()
720 if (!res->aux.state) in iris_resource_configure_aux()
723 if (isl_aux_usage_has_hiz(res->aux.usage)) { in iris_resource_configure_aux()
732 res->aux.has_hiz |= 1 << level; in iris_resource_configure_aux()
748 void *map = iris_bo_map(NULL, res->aux.bo, MAP_WRITE | MAP_RAW); in iris_resource_init_aux_buf()
755 uint8_t memset_value = isl_aux_usage_has_mcs(res->aux.usage) ? 0xFF : 0; in iris_resource_init_aux_buf()
756 memset((char*)map + res->aux.offset, memset_value, in iris_resource_init_aux_buf()
757 res->aux.surf.size_B); in iris_resource_init_aux_buf()
760 memset((char*)map + res->aux.extra_aux.offset, in iris_resource_init_aux_buf()
761 0, res->aux.extra_aux.surf.size_B); in iris_resource_init_aux_buf()
764 memset((char *)map + res->aux.clear_color_offset, 0, in iris_resource_init_aux_buf()
767 iris_bo_unmap(res->aux.bo); in iris_resource_init_aux_buf()
770 res->aux.clear_color_bo = res->aux.bo; in iris_resource_init_aux_buf()
771 iris_bo_reference(res->aux.clear_color_bo); in iris_resource_init_aux_buf()
781 assert(aux_res->aux.surf.row_pitch_B && aux_res->aux.offset); in import_aux_info()
782 assert(res->bo == aux_res->aux.bo); in import_aux_info()
783 assert(res->aux.surf.row_pitch_B == aux_res->aux.surf.row_pitch_B); in import_aux_info()
784 assert(res->bo->size >= aux_res->aux.offset + res->aux.surf.size_B); in import_aux_info()
786 iris_bo_reference(aux_res->aux.bo); in import_aux_info()
787 res->aux.bo = aux_res->aux.bo; in import_aux_info()
788 res->aux.offset = aux_res->aux.offset; in import_aux_info()
841 assert(res->aux.clear_color_bo == NULL); in iris_resource_finish_aux_import()
846 res->aux.clear_color_bo = in iris_resource_finish_aux_import()
940 if (res->aux.surf.size_B > 0) { in iris_resource_create_with_modifiers()
941 res->aux.offset = ALIGN(bo_size, res->aux.surf.alignment_B); in iris_resource_create_with_modifiers()
942 bo_size = res->aux.offset + res->aux.surf.size_B; in iris_resource_create_with_modifiers()
946 if (res->aux.extra_aux.surf.size_B > 0) { in iris_resource_create_with_modifiers()
947 res->aux.extra_aux.offset = in iris_resource_create_with_modifiers()
948 ALIGN(bo_size, res->aux.extra_aux.surf.alignment_B); in iris_resource_create_with_modifiers()
949 bo_size = res->aux.extra_aux.offset + res->aux.extra_aux.surf.size_B; in iris_resource_create_with_modifiers()
958 if (res->aux.surf.size_B > 0) { in iris_resource_create_with_modifiers()
959 res->aux.clear_color_offset = ALIGN(bo_size, 4096); in iris_resource_create_with_modifiers()
960 bo_size = res->aux.clear_color_offset + in iris_resource_create_with_modifiers()
973 if (res->aux.surf.size_B > 0) { in iris_resource_create_with_modifiers()
974 res->aux.bo = res->bo; in iris_resource_create_with_modifiers()
975 iris_bo_reference(res->aux.bo); in iris_resource_create_with_modifiers()
1103 res->aux.surf.row_pitch_B = whandle->stride; in iris_resource_from_handle()
1104 res->aux.offset = whandle->offset; in iris_resource_from_handle()
1105 res->aux.bo = res->bo; in iris_resource_from_handle()
1143 (!(usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH) && res->aux.usage != 0) && in iris_resource_disable_aux_on_first_query()
1171 struct iris_bo *bo = wants_aux ? res->aux.bo : res->bo; in iris_resource_get_param()
1187 *value = wants_aux ? res->aux.surf.row_pitch_B : res->surf.row_pitch_B; in iris_resource_get_param()
1190 *value = wants_aux ? res->aux.offset : 0; in iris_resource_get_param()
1240 assert(res->aux.bo); in iris_resource_get_handle()
1241 bo = res->aux.bo; in iris_resource_get_handle()
1242 whandle->stride = res->aux.surf.row_pitch_B; in iris_resource_get_handle()
1243 whandle->offset = res->aux.offset; in iris_resource_get_handle()
1257 usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH ? res->aux.usage : in iris_resource_get_handle()
1260 if (res->aux.usage != allowed_usage) { in iris_resource_get_handle()
1929 res->aux.usage != ISL_AUX_USAGE_CCS_E && in iris_transfer_map()
1930 res->aux.usage != ISL_AUX_USAGE_GEN12_CCS_E) { in iris_transfer_map()
2068 (isl_aux_usage_has_ccs(res->aux.usage) && in iris_texture_subdata()
2069 res->aux.usage != ISL_AUX_USAGE_CCS_D) || in iris_texture_subdata()
2184 if (memcmp(&res->aux.clear_color, &color, sizeof(color)) != 0) { in iris_resource_set_clear_color()
2185 res->aux.clear_color = color; in iris_resource_set_clear_color()
2197 assert(res->aux.bo); in iris_resource_get_clear_color()
2200 *clear_color_bo = res->aux.clear_color_bo; in iris_resource_get_clear_color()
2202 *clear_color_offset = res->aux.clear_color_offset; in iris_resource_get_clear_color()
2203 return res->aux.clear_color; in iris_resource_get_clear_color()