Lines Matching refs:usage
218 /* Only allow external usage for the following cases: YUV formats
221 * compression ratio is large enough. By requiring external usage
321 isl_surf_usage_flags_t usage = ISL_SURF_USAGE_STORAGE_BIT;
323 iris_format_for_usage(devinfo, img->format, usage).fmt;
435 res->aux.usage = ISL_AUX_USAGE_NONE;
453 switch (templ->usage) {
573 if (!isl_aux_usage_has_fast_clears(res->aux.usage))
576 assert(!isl_surf_usage_is_stencil(res->surf.usage));
582 if (isl_surf_usage_is_depth(res->surf.usage) &&
597 if (isl_aux_usage_has_ccs(res->aux.usage)) {
601 iris_format_for_usage(&screen->devinfo, pfmt, res->surf.usage).fmt;
671 } else if (templ->usage == PIPE_USAGE_STAGING ||
683 isl_surf_usage_flags_t usage = 0;
686 usage |= ISL_SURF_USAGE_DISABLE_AUX_BIT;
688 if (templ->usage == PIPE_USAGE_STAGING)
689 usage |= ISL_SURF_USAGE_STAGING_BIT;
692 usage |= ISL_SURF_USAGE_RENDER_TARGET_BIT;
695 usage |= ISL_SURF_USAGE_TEXTURE_BIT;
698 usage |= ISL_SURF_USAGE_STORAGE_BIT;
701 usage |= ISL_SURF_USAGE_DISPLAY_BIT;
705 usage |= ISL_SURF_USAGE_CUBE_BIT;
708 if (templ->usage != PIPE_USAGE_STAGING &&
714 usage |= templ->format == PIPE_FORMAT_S8_UINT ?
719 iris_format_for_usage(&screen->devinfo, templ->format, usage).fmt;
732 .usage = usage,
755 assert(aux_surf->usage & (ISL_SURF_USAGE_HIZ_BIT |
803 res->aux.usage = ISL_AUX_USAGE_MCS_CCS;
805 res->aux.usage = ISL_AUX_USAGE_MCS;
811 res->aux.usage = ISL_AUX_USAGE_HIZ;
813 (res->surf.usage & ISL_SURF_USAGE_TEXTURE_BIT)) {
818 res->aux.usage = ISL_AUX_USAGE_HIZ_CCS_WT;
820 res->aux.usage = ISL_AUX_USAGE_HIZ_CCS;
824 res->aux.usage = res->mod_info->aux_usage;
825 } else if (isl_surf_usage_is_stencil(res->surf.usage)) {
826 res->aux.usage = ISL_AUX_USAGE_STC_CCS;
828 res->aux.usage = devinfo->ver < 12 ?
832 res->aux.usage = ISL_AUX_USAGE_CCS_D;
837 switch (res->aux.usage) {
865 assert(res->aux.usage != ISL_AUX_USAGE_STC_CCS);
879 assert(isl_aux_usage_has_compression(res->aux.usage));
880 initial_state = isl_aux_usage_has_fast_clears(res->aux.usage) ?
929 uint8_t memset_value = isl_aux_usage_has_mcs(res->aux.usage) ? 0xFF : 0;
1127 unsigned flags = iris_resource_alloc_flags(screen, templ, res->aux.usage);
1177 unsigned flags = iris_resource_alloc_flags(screen, templ, res->aux.usage);
1222 if (res->aux.usage != ISL_AUX_USAGE_NONE &&
1359 unsigned usage)
1522 if (!res->mod_info && res->aux.usage != ISL_AUX_USAGE_NONE) {
1607 old_res->aux.usage = new_res->aux.usage;
1670 unsigned usage)
1676 /* Disable aux usage if explicit flush not set and this is the first time
1681 (!(usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH) && res->aux.usage != 0) &&
1791 unsigned usage)
1798 iris_resource_disable_aux_on_first_query(resource, usage);
1825 usage & PIPE_HANDLE_USAGE_EXPLICIT_FLUSH ? res->aux.usage :
1828 if (res->aux.usage != allowed_usage) {
1956 if (!(xfer->usage & PIPE_MAP_WRITE))
2001 .usage = PIPE_USAGE_STAGING,
2027 if (!(xfer->usage & PIPE_MAP_DISCARD_RANGE)) {
2045 iris_bo_map(map->dbg, staging_bo, xfer->usage & MAP_FLAGS) + extra;
2118 if (xfer->usage & PIPE_MAP_WRITE) {
2121 iris_bo_map(map->dbg, res->bo, (xfer->usage | MAP_RAW) & MAP_FLAGS);
2165 if (!(xfer->usage & PIPE_MAP_DISCARD_RANGE)) {
2168 iris_bo_map(map->dbg, res->bo, (xfer->usage | MAP_RAW) & MAP_FLAGS);
2224 if (xfer->usage & PIPE_MAP_WRITE) {
2226 iris_bo_map(map->dbg, res->bo, (xfer->usage | MAP_RAW) & MAP_FLAGS);
2268 if (!(xfer->usage & PIPE_MAP_DISCARD_RANGE)) {
2270 iris_bo_map(map->dbg, res->bo, (xfer->usage | MAP_RAW) & MAP_FLAGS);
2296 iris_bo_map(map->dbg, res->bo, xfer->usage & MAP_FLAGS);
2327 enum pipe_map_flags usage)
2333 return res->base.b.target == PIPE_BUFFER && (usage & PIPE_MAP_WRITE) &&
2334 !(usage & TC_TRANSFER_MAP_NO_INFER_UNSYNCHRONIZED) &&
2343 enum pipe_map_flags usage,
2351 if (usage & PIPE_MAP_DISCARD_WHOLE_RESOURCE) {
2353 if (!(usage & (PIPE_MAP_UNSYNCHRONIZED |
2358 usage |= PIPE_MAP_DISCARD_RANGE;
2361 if (!(usage & PIPE_MAP_UNSYNCHRONIZED) &&
2362 can_promote_to_async(res, box, usage)) {
2363 usage |= PIPE_MAP_UNSYNCHRONIZED;
2372 if (usage & (PIPE_MAP_PERSISTENT | PIPE_MAP_COHERENT))
2373 usage |= PIPE_MAP_DIRECTLY;
2379 if ((usage & PIPE_MAP_DIRECTLY) &&
2385 if (!(usage & PIPE_MAP_UNSYNCHRONIZED)) {
2390 if (map_would_stall && (usage & PIPE_MAP_DONTBLOCK) &&
2391 (usage & PIPE_MAP_DIRECTLY))
2397 if (usage & TC_TRANSFER_MAP_THREADED_UNSYNC)
2411 xfer->usage = usage;
2419 if (usage & PIPE_MAP_WRITE)
2431 if (!(usage & PIPE_MAP_DISCARD_RANGE) &&
2433 usage |= PIPE_MAP_DIRECTLY;
2440 !isl_aux_usage_has_compression(res->aux.usage) &&
2441 !((usage & PIPE_MAP_READ) &&
2443 usage |= PIPE_MAP_DIRECTLY;
2449 usage &= ~PIPE_MAP_DIRECTLY;
2451 if (!(usage & PIPE_MAP_DIRECTLY)) {
2463 usage & PIPE_MAP_WRITE);
2466 if (!(usage & PIPE_MAP_UNSYNCHRONIZED)) {
2514 if (!(xfer->usage & (PIPE_MAP_FLUSH_EXPLICIT |
2547 unsigned usage,
2570 isl_aux_usage_has_compression(res->aux.usage) ||
2573 return u_default_texture_subdata(ctx, resource, level, usage, box,