Lines Matching refs:vk

66    if (image->vk.tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT) {
74 assert(!isl_drm_modifier_has_aux(image->vk.drm_format_mod));
461 image->vk.aspects & (VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV |
473 if (image->vk.image_type == VK_IMAGE_TYPE_3D) {
474 for (uint32_t l = 0; l < image->vk.mip_levels; l++)
475 state_size += anv_minify(image->vk.extent.depth, l) * 4;
477 state_size += image->vk.mip_levels * image->vk.array_layers * 4;
484 if (image->vk.drm_format_mod != DRM_FORMAT_MOD_INVALID)
528 assert(!(image->vk.usage & VK_IMAGE_USAGE_STORAGE_BIT));
533 if (!(image->vk.usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) {
539 anv_perf_warn(VK_LOG_OBJS(&image->vk.base), "Implement gfx7 HiZ");
543 if (image->vk.mip_levels > 1) {
544 anv_perf_warn(VK_LOG_OBJS(&image->vk.base), "Enable multi-LOD HiZ");
548 if (device->info.ver == 8 && image->vk.samples > 1) {
549 anv_perf_warn(VK_LOG_OBJS(&image->vk.base),
567 } else if (image->vk.usage & (VK_IMAGE_USAGE_SAMPLED_BIT |
569 image->vk.samples == 1) {
604 } else if ((aspect & VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV) && image->vk.samples == 1) {
613 if ((image->vk.create_flags & VK_IMAGE_CREATE_ALIAS_BIT)) {
632 anv_perf_warn(VK_LOG_OBJS(&image->vk.base),
650 if (!(image->vk.usage & VK_IMAGE_USAGE_STORAGE_BIT) &&
652 image->vk.create_flags,
653 image->vk.format,
654 image->vk.tiling,
666 anv_perf_warn(VK_LOG_OBJS(&image->vk.base),
679 if (image->vk.drm_format_mod != DRM_FORMAT_MOD_INVALID &&
680 !isl_drm_modifier_has_aux(image->vk.drm_format_mod))
690 } else if ((aspect & VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV) && image->vk.samples > 1) {
691 assert(!(image->vk.usage & VK_IMAGE_USAGE_STORAGE_BIT));
724 .dim = vk_to_isl_surf_dim[image->vk.image_type],
726 .width = image->vk.extent.width,
727 .height = image->vk.extent.height,
728 .depth = image->vk.extent.depth,
729 .levels = image->vk.mip_levels,
730 .array_len = image->vk.array_layers,
731 .samples = image->vk.samples,
768 .dim = vk_to_isl_surf_dim[image->vk.image_type],
770 .width = image->vk.extent.width / plane_format.denominator_scales[0],
771 .height = image->vk.extent.height / plane_format.denominator_scales[1],
772 .depth = image->vk.extent.depth,
773 .levels = image->vk.mip_levels,
774 .array_len = image->vk.array_layers,
775 .samples = image->vk.samples,
870 assert(!(image->vk.create_flags & VK_IMAGE_CREATE_ALIAS_BIT) ||
889 if (image->vk.drm_format_mod != DRM_FORMAT_MOD_INVALID &&
890 !isl_drm_modifier_has_aux(image->vk.drm_format_mod))
907 if (image->vk.drm_format_mod != DRM_FORMAT_MOD_INVALID)
949 assert((image->vk.drm_format_mod != DRM_FORMAT_MOD_INVALID) ==
950 (image->vk.tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT));
952 if (image->vk.drm_format_mod == DRM_FORMAT_MOD_INVALID)
956 isl_drm_modifier_get_info(image->vk.drm_format_mod);
962 assert(image->vk.image_type == VK_IMAGE_TYPE_2D);
963 assert(!(image->vk.aspects & VK_IMAGE_ASPECT_DEPTH_BIT));
964 assert(!(image->vk.aspects & VK_IMAGE_ASPECT_STENCIL_BIT));
965 assert(image->vk.mip_levels == 1);
966 assert(image->vk.array_layers == 1);
967 assert(image->vk.samples == 1);
1018 u_foreach_bit(b, image->vk.aspects) {
1022 anv_get_format_plane(devinfo, image->vk.format, plane, image->vk.tiling);
1024 VkImageUsageFlags vk_usage = vk_image_usage(&image->vk, aspect);
1026 choose_isl_surf_usage(image->vk.create_flags, vk_usage,
1034 image->vk.tiling, vk_usage,
1035 image->vk.create_flags,
1052 if (image->vk.external_handle_types != 0 &&
1053 image->vk.tiling != VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT)
1109 assert(image->vk.aspects == VK_IMAGE_ASPECT_COLOR_BIT);
1111 assert(!(image->vk.aspects & ~VK_IMAGE_ASPECT_PLANES_BITS_ANV));
1136 u_foreach_bit(b, image->vk.aspects) {
1140 anv_get_format_plane(devinfo, image->vk.format, plane, image->vk.tiling);
1252 vk_image_init(&device->vk, &image->vk, pCreateInfo);
1254 image->vk.usage = anv_image_create_usage(pCreateInfo, image->vk.usage);
1255 image->vk.stencil_usage =
1256 anv_image_create_usage(pCreateInfo, image->vk.stencil_usage);
1259 assert(!image->vk.wsi_legacy_scanout);
1275 assert(image->vk.drm_format_mod == DRM_FORMAT_MOD_INVALID);
1276 image->vk.drm_format_mod = isl_mod_info->modifier;
1286 if (image->vk.external_handle_types &
1292 image->n_planes = anv_get_format_planes(image->vk.format);
1304 image->vk.wsi_legacy_scanout);
1336 vk_image_finish(&image->vk);
1344 container_of(image->vk.base.device, struct anv_device, vk);
1359 vk_image_finish(&image->vk);
1401 local_create_info.tiling = swapchain_image->vk.tiling;
1406 .pDrmFormatModifiers = &swapchain_image->vk.drm_format_mod,
1409 if (swapchain_image->vk.drm_format_mod != DRM_FORMAT_MOD_INVALID)
1412 assert(swapchain_image->vk.image_type == local_create_info.imageType);
1413 assert(swapchain_image->vk.format == local_create_info.format);
1414 assert(swapchain_image->vk.extent.width == local_create_info.extent.width);
1415 assert(swapchain_image->vk.extent.height == local_create_info.extent.height);
1416 assert(swapchain_image->vk.extent.depth == local_create_info.extent.depth);
1417 assert(swapchain_image->vk.array_layers == local_create_info.arrayLayers);
1418 assert(swapchain_image->vk.samples == local_create_info.samples);
1419 assert(swapchain_image->vk.tiling == local_create_info.tiling);
1420 assert(swapchain_image->vk.usage == local_create_info.usage);
1467 vk_object_zalloc(&device->vk, pAllocator, sizeof(*image),
1475 vk_object_free(&device->vk, pAllocator, image);
1494 assert(&device->vk == image->vk.base.device);
1497 vk_free2(&device->vk.alloc, pAllocator, image);
1560 vk_image_set_format(&image->vk, vk_format);
1561 image->n_planes = anv_get_format_planes(image->vk.format);
1598 if (image->vk.wsi_legacy_scanout || image->from_ahb) {
1632 assert(aspects & image->vk.aspects);
1635 assert(aspects == image->vk.aspects);
1654 VkImageAspectFlags aspects = image->vk.aspects;
1689 image.disjoint ? pInfo->planeAspect : image.vk.aspects;
1780 assert(image->vk.aspects == swapchain_image->vk.aspects);
1873 if (image->vk.tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT) {
1893 if (mem_plane == 1 && isl_drm_modifier_has_aux(image->vk.drm_format_mod)) {
1926 layout->size = layout->rowPitch * anv_minify(image->vk.extent.height,
1928 image->vk.extent.depth;
1961 assert(util_bitcount(aspect) == 1 && (aspect & image->vk.aspects));
1991 assert(image->vk.aspects == VK_IMAGE_ASPECT_COLOR_BIT);
1994 isl_drm_modifier_get_default_aux_state(image->vk.drm_format_mod);
2026 vk_image_usage(&image->vk, aspect);
2192 assert(image->vk.aspects & VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV);
2194 assert(image->vk.samples == 1);
2254 if (devinfo->verx10 == 70 && image->vk.samples > 1)
2531 iview = vk_image_view_create(&device->vk, pCreateInfo,
2537 iview->n_planes = anv_image_aspect_get_planes(iview->vk.aspects);
2549 assert(!image->vk.android_external_format || conv_info);
2559 assert(!image->vk.android_external_format ||
2566 if (iview->vk.format == VK_FORMAT_UNDEFINED && conv_format)
2567 iview->vk.format = conv_format->vk_format;
2572 anv_foreach_image_aspect_bit(iaspect_bit, image, iview->vk.aspects) {
2574 anv_aspect_to_plane(image->vk.aspects, 1UL << iaspect_bit);
2576 anv_aspect_to_plane(iview->vk.aspects, 1UL << iaspect_bit);
2578 format = anv_get_format_plane(&device->info, iview->vk.format,
2579 vplane, image->vk.tiling);
2585 .base_level = iview->vk.base_mip_level,
2586 .levels = iview->vk.level_count,
2587 .base_array_layer = iview->vk.base_array_layer,
2588 .array_len = iview->vk.layer_count,
2590 .r = remap_swizzle(iview->vk.swizzle.r, format.swizzle),
2591 .g = remap_swizzle(iview->vk.swizzle.g, format.swizzle),
2592 .b = remap_swizzle(iview->vk.swizzle.b, format.swizzle),
2593 .a = remap_swizzle(iview->vk.swizzle.a, format.swizzle),
2599 iview->planes[vplane].isl.array_len = iview->vk.extent.depth;
2609 if (iview->vk.usage & VK_IMAGE_USAGE_SAMPLED_BIT ||
2610 (iview->vk.usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT &&
2611 !(iview->vk.aspects & VK_IMAGE_ASPECT_ANY_COLOR_BIT_ANV))) {
2642 if (iview->vk.usage & VK_IMAGE_USAGE_STORAGE_BIT) {
2719 vk_image_view_destroy(&device->vk, pAllocator, &iview->vk);
2733 view = vk_object_alloc(&device->vk, pAllocator, sizeof(*view),
2816 vk_object_free(&device->vk, pAllocator, view);