Lines Matching defs:image

49 blit_surf_for_image_level_layer(struct radv_image *image, VkImageLayout layout,
53 VkFormat format = radv_get_aspect_format(image, aspect_mask);
55 if (!radv_dcc_enabled(image, subres->mipLevel) && !(radv_image_is_tc_compat_htile(image)))
65 .image = image,
72 radv_image_is_renderable(struct radv_device *device, struct radv_image *image)
74 if (image->vk.format == VK_FORMAT_R32G32B32_UINT ||
75 image->vk.format == VK_FORMAT_R32G32B32_SINT ||
76 image->vk.format == VK_FORMAT_R32G32B32_SFLOAT)
80 image->vk.image_type == VK_IMAGE_TYPE_3D &&
81 vk_format_get_blocksizebits(image->vk.format) == 128 &&
82 vk_format_is_compressed(image->vk.format))
89 struct radv_image *image, VkImageLayout layout,
98 assert(image->info.samples == 1);
101 !radv_image_is_renderable(cmd_buffer->device, image);
113 * extent is the size in texels of the source image to copy in width,
121 const VkOffset3D img_offset_el = vk_image_offset_to_elements(&image->vk, region->imageOffset);
124 const VkExtent3D img_extent_el = vk_image_extent_to_elements(&image->vk, region->imageExtent);
132 image, layout, &region->imageSubresource, region->imageSubresource.aspectMask);
135 uint32_t queue_mask = radv_image_queue_family_mask(image, cmd_buffer->qf,
138 radv_layout_dcc_compressed(cmd_buffer->device, image, region->imageSubresource.mipLevel,
141 radv_decompress_dcc(cmd_buffer, image,
154 const struct vk_image_buffer_layout buf_layout = vk_image_buffer_copy_layout(&image->vk, region);
163 if (image->vk.image_type == VK_IMAGE_TYPE_3D)
183 * the image is embedded in the command buffer so we can just
184 * increment the offset directly in the image effectively
189 if (image->vk.image_type == VK_IMAGE_TYPE_3D)
230 struct radv_image *image, VkImageLayout layout,
236 assert(image->vk.image_type == VK_IMAGE_TYPE_2D);
237 assert(image->info.width == region->imageExtent.width);
238 assert(image->info.height == region->imageExtent.height);
239 ASSERTED bool res = radv_sdma_copy_image(cmd_buffer, image, buffer, region);
241 radv_cs_add_buffer(cmd_buffer->device->ws, cmd_buffer->cs, image->bindings[0].bo);
257 * extent is the size in texels of the source image to copy in width,
265 const VkOffset3D img_offset_el = vk_image_offset_to_elements(&image->vk, region->imageOffset);
270 const VkExtent3D buf_extent_el = vk_image_extent_to_elements(&image->vk, bufferExtent);
273 const VkExtent3D img_extent_el = vk_image_extent_to_elements(&image->vk, region->imageExtent);
281 image, layout, &region->imageSubresource, region->imageSubresource.aspectMask);
284 uint32_t queue_mask = radv_image_queue_family_mask(image, cmd_buffer->qf,
287 radv_layout_dcc_compressed(cmd_buffer->device, image, region->imageSubresource.mipLevel,
290 radv_decompress_dcc(cmd_buffer, image,
311 if (image->vk.image_type == VK_IMAGE_TYPE_3D)
328 if (image->vk.image_type == VK_IMAGE_TYPE_3D)
362 * vkCmdCopyImage can be used to copy image data between multisample
466 * imageExtent is the size in texels of the image to copy in width, height
482 * source image and not the destination."
483 * However, we must use the destination image type to avoid
484 * clamping depth when copying multiple layers of a 2D image to
485 * a 3D image.
518 if (radv_can_use_fmask_copy(cmd_buffer, b_src.image, b_dst.image, 1, &rect)) {