Lines Matching defs:isv
2537 struct iris_sampler_view *isv = calloc(1, sizeof(struct iris_sampler_view));
2539 if (!isv)
2543 isv->base = *tmpl;
2544 isv->base.context = ctx;
2545 isv->base.texture = NULL;
2546 pipe_reference_init(&isv->base.reference, 1);
2547 pipe_resource_reference(&isv->base.texture, tex);
2559 isv->res = (struct iris_resource *) tex;
2563 if (isv->base.target == PIPE_TEXTURE_CUBE ||
2564 isv->base.target == PIPE_TEXTURE_CUBE_ARRAY)
2570 isv->clear_color = isv->res->aux.clear_color;
2572 isv->view = (struct isl_view) {
2585 if ((isv->res->aux.usage == ISL_AUX_USAGE_CCS_D ||
2586 isv->res->aux.usage == ISL_AUX_USAGE_CCS_E ||
2587 isv->res->aux.usage == ISL_AUX_USAGE_GFX12_CCS_E) &&
2588 !isl_format_supports_ccs_e(devinfo, isv->view.format)) {
2590 } else if (isl_aux_usage_has_hiz(isv->res->aux.usage) &&
2591 !iris_sample_with_depth_aux(devinfo, isv->res)) {
2595 1 << isv->res->aux.usage;
2598 alloc_surface_states(&isv->surface_state, aux_usages);
2599 isv->surface_state.bo_address = isv->res->bo->address;
2603 isv->view.base_level = tmpl->u.tex.first_level;
2604 isv->view.levels = tmpl->u.tex.last_level - tmpl->u.tex.first_level + 1;
2607 isv->view.base_array_layer = 0;
2608 isv->view.array_len = 1;
2614 isv->view.base_array_layer = tmpl->u.tex.first_layer;
2615 isv->view.array_len =
2619 fill_surface_states(&screen->isl_dev, &isv->surface_state, isv->res,
2620 &isv->res->surf, &isv->view, 0, 0, 0);
2622 fill_buffer_surface_state(&screen->isl_dev, isv->res,
2623 isv->surface_state.cpu,
2624 isv->view.format, isv->view.swizzle,
2629 return &isv->base;
2636 struct iris_sampler_view *isv = (void *) state;
2638 pipe_resource_reference(&isv->surface_state.ref.res, NULL);
2639 free(isv->surface_state.cpu);
2640 free(isv);
5003 struct iris_sampler_view *isv)
5006 iris_resource_texture_aux_usage(ice, isv->res, isv->view.format);
5008 if (!isv->surface_state.ref.res)
5009 upload_surface_states(ice->state.surface_uploader, &isv->surface_state);
5011 if (memcmp(&isv->res->aux.clear_color, &isv->clear_color,
5012 sizeof(isv->clear_color)) != 0) {
5013 update_clear_value(ice, batch, isv->res, &isv->surface_state,
5014 &isv->view);
5015 isv->clear_color = isv->res->aux.clear_color;
5018 if (isv->res->aux.clear_color_bo) {
5019 iris_use_pinned_bo(batch, isv->res->aux.clear_color_bo,
5023 if (isv->res->aux.bo) {
5024 iris_use_pinned_bo(batch, isv->res->aux.bo,
5028 iris_use_pinned_bo(batch, isv->res->bo, false, IRIS_DOMAIN_SAMPLER_READ);
5030 return use_surface_state(batch, &isv->surface_state, aux_usage);
7580 struct iris_sampler_view *isv = shs->textures[i];
7581 struct iris_bo *bo = isv->res->bo;
7584 &isv->surface_state, bo)) {