Lines Matching refs:planes
132 return &image->planes[plane].surface;
141 surf->offset = align_u32(image->planes[plane].size,
147 if (image->planes[plane].size == 0)
148 image->planes[plane].offset = image->size;
152 image->planes[plane].size = (surf->offset + surf->isl.size_B) - image->planes[plane].offset;
155 image->planes[plane].alignment = MAX2(image->planes[plane].alignment,
250 assert(image->planes[plane].aux_surface.isl.size_B > 0 &&
258 assert((image->planes[plane].offset + image->planes[plane].size) % 4 == 0);
262 assert(image->planes[plane].size ==
263 (image->planes[plane].offset + image->planes[plane].size));
266 (image->planes[plane].offset + image->planes[plane].size));
277 if (image->planes[plane].aux_usage == ISL_AUX_USAGE_CCS_E) {
286 image->planes[plane].fast_clear_state_offset =
287 image->planes[plane].offset + image->planes[plane].size;
289 image->planes[plane].size += state_size;
318 struct anv_surface *anv_surf = &image->planes[plane].surface;
356 image->planes[plane].aux_usage = ISL_AUX_USAGE_NONE;
368 ok = isl_surf_init(&dev->isl_dev, &image->planes[plane].shadow_surface.isl,
387 add_surface(image, &image->planes[plane].shadow_surface, plane);
413 assert(image->planes[plane].aux_surface.isl.size_B == 0);
415 &image->planes[plane].surface.isl,
416 &image->planes[plane].aux_surface.isl);
418 add_surface(image, &image->planes[plane].aux_surface, plane);
419 image->planes[plane].aux_usage = ISL_AUX_USAGE_HIZ;
439 assert(image->planes[plane].aux_surface.isl.size_B == 0);
441 &image->planes[plane].surface.isl,
442 &image->planes[plane].aux_surface.isl, 0);
457 image->planes[plane].aux_surface.isl.size_B = 0;
461 add_surface(image, &image->planes[plane].aux_surface, plane);
474 image->planes[plane].aux_usage = ISL_AUX_USAGE_CCS_E;
480 assert(image->planes[plane].aux_surface.isl.size_B == 0);
482 &image->planes[plane].surface.isl,
483 &image->planes[plane].aux_surface.isl);
485 add_surface(image, &image->planes[plane].aux_surface, plane);
487 image->planes[plane].aux_usage = ISL_AUX_USAGE_MCS;
491 assert((image->planes[plane].offset + image->planes[plane].size) == image->size);
496 assert((MAX2(image->planes[plane].surface.offset,
497 image->planes[plane].aux_surface.offset) +
498 (image->planes[plane].aux_surface.isl.size_B > 0 ?
499 image->planes[plane].aux_surface.isl.size_B :
500 image->planes[plane].surface.isl.size_B)) <=
501 (image->planes[plane].offset + image->planes[plane].size));
503 if (image->planes[plane].aux_surface.isl.size_B) {
504 /* assert(image->planes[plane].fast_clear_state_offset == */
505 /* (image->planes[plane].aux_surface.offset + image->planes[plane].aux_surface.isl.size_B)); */
506 assert(image->planes[plane].fast_clear_state_offset <
507 (image->planes[plane].offset + image->planes[plane].size));
750 if (image->planes[p].bo_is_owned) {
751 assert(image->planes[p].address.bo != NULL);
753 image->planes[p].address.bo);
766 assert(!image->planes[plane].bo_is_owned);
769 image->planes[plane].address = ANV_NULL_ADDRESS;
773 image->planes[plane].address = (struct anv_address) {
920 .bo = swapchain_image->planes[plane].address.bo,
964 surface = &image->planes[0].aux_surface;
1029 if (image->planes[plane].aux_surface.isl.size_B == 0)
1066 assert(image->planes[plane].aux_usage == ISL_AUX_USAGE_HIZ);
1070 return image->planes[plane].aux_usage;
1086 return image->planes[plane].aux_usage;
1109 if (image->planes[plane].aux_usage == ISL_AUX_USAGE_NONE) {
1113 assert(image->planes[plane].aux_usage != ISL_AUX_USAGE_CCS_D);
1114 return image->planes[plane].aux_usage;
1159 if (image->planes[plane].aux_surface.isl.size_B == 0)
1210 if (image->planes[plane].aux_usage == ISL_AUX_USAGE_MCS ||
1211 image->planes[plane].aux_usage == ISL_AUX_USAGE_CCS_E)
1258 const struct anv_surface *surface = &image->planes[plane].surface,
1259 *aux_surface = &image->planes[plane].aux_surface;
1269 if (image->planes[plane].shadow_surface.isl.size_B > 0 &&
1274 assert(image->planes[plane].shadow_surface.isl.tiling != ISL_TILING_LINEAR);
1275 surface = &image->planes[plane].shadow_surface;
1295 anv_address_add(image->planes[plane].address, surface->offset);
1382 aux_address = anv_address_add(image->planes[plane].address,
1458 uint32_t planes = 0;
1464 planes++;
1466 planes++;
1468 planes++;
1472 planes++;
1474 return planes;
1572 /* Now go through the underlying image selected planes (computed in
1573 * expanded_aspects) and map them to planes in the image view.
1585 iview->planes[vplane].image_plane = iplane;
1587 iview->planes[vplane].isl = (struct isl_view) {
1606 iview->planes[vplane].isl.base_array_layer = 0;
1607 iview->planes[vplane].isl.array_len = iview->extent.depth;
1612 iview->planes[vplane].isl.usage = ISL_SURF_USAGE_CUBE_BIT;
1614 iview->planes[vplane].isl.usage = 0;
1620 iview->planes[vplane].optimal_sampler_surface_state.state = alloc_surface_state(device);
1621 iview->planes[vplane].general_sampler_surface_state.state = alloc_surface_state(device);
1631 &iview->planes[vplane].isl,
1635 &iview->planes[vplane].optimal_sampler_surface_state,
1639 &iview->planes[vplane].isl,
1643 &iview->planes[vplane].general_sampler_surface_state,
1649 iview->planes[vplane].storage_surface_state.state = alloc_surface_state(device);
1650 iview->planes[vplane].writeonly_storage_surface_state.state = alloc_surface_state(device);
1653 &iview->planes[vplane].isl,
1657 &iview->planes[vplane].storage_surface_state,
1658 &iview->planes[vplane].storage_image_param);
1661 &iview->planes[vplane].isl,
1665 &iview->planes[vplane].writeonly_storage_surface_state,
1688 if (iview->planes[plane].optimal_sampler_surface_state.state.alloc_size > 0) {
1690 iview->planes[plane].optimal_sampler_surface_state.state);
1693 if (iview->planes[plane].general_sampler_surface_state.state.alloc_size > 0) {
1695 iview->planes[plane].general_sampler_surface_state.state);
1698 if (iview->planes[plane].storage_surface_state.state.alloc_size > 0) {
1700 iview->planes[plane].storage_surface_state.state);
1703 if (iview->planes[plane].writeonly_storage_surface_state.state.alloc_size > 0) {
1705 iview->planes[plane].writeonly_storage_surface_state.state);
1866 return &image->planes[plane].surface;