Struct vulkano::image::immutable::ImmutableImage [] [src]

pub struct ImmutableImage<F, A = Arc<StdMemoryPool>> where A: MemoryPool {
    // some fields omitted
}

Image whose purpose is to be used for read-only purposes. You can write to the image once, but then you must only ever read from it. TODO: clarify because of blit operations

Methods

impl<F> ImmutableImage<F>
[src]

fn new<'a, I>(device: &Arc<Device>, dimensions: Dimensions, format: F, queue_families: I) -> Result<Arc<ImmutableImage<F>>, ImageCreationError> where F: FormatDesc, I: IntoIterator<Item=QueueFamily<'a>>

Builds a new immutable image.

impl<F, A> ImmutableImage<F, A> where A: MemoryPool
[src]

fn dimensions(&self) -> Dimensions

Returns the dimensions of the image.

Trait Implementations

impl<F: Debug, A: Debug> Debug for ImmutableImage<F, A> where A: MemoryPool, A::Alloc: Debug
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<F, A> Image for ImmutableImage<F, A> where F: 'static + Send + Sync, A: MemoryPool
[src]

fn inner(&self) -> &UnsafeImage

Returns the inner unsafe image object used by this image.

fn blocks(&self, _: Range<u32>, array_layers: Range<u32>) -> Vec<(u32, u32)>

Given a range, returns the list of blocks which each range is contained in. Read more

fn block_mipmap_levels_range(&self, block: (u32, u32)) -> Range<u32>

fn block_array_layers_range(&self, block: (u32, u32)) -> Range<u32>

fn initial_layout(&self, _: (u32, u32), first_usage: Layout) -> (Layout, bool, bool)

Called when a command buffer that uses this image is being built. Given a block, this function should return the layout that the block will have when the command buffer is submitted. Read more

fn final_layout(&self, _: (u32, u32), _: Layout) -> (Layout, bool, bool)

Called when a command buffer that uses this image is being built. Given a block, this function should return the layout that the block must have when the command buffer is end. Read more

fn needs_fence(&self, access: &mut Iterator<Item=AccessRange>) -> Option<bool>

Returns whether accessing a subresource of that image should signal a fence.

unsafe fn gpu_access(&self, access: &mut Iterator<Item=AccessRange>, submission: &Arc<Submission>) -> GpuAccessResult

fn format(&self) -> Format

Returns the format of this image.

fn samples(&self) -> u32

Returns the number of samples of this image.

fn dimensions(&self) -> Dimensions

Returns the dimensions of the image.

fn supports_blit_source(&self) -> bool

Returns true if the image can be used as a source for blits.

fn supports_blit_destination(&self) -> bool

Returns true if the image can be used as a destination for blits.

impl<P, F, A> ImageContent<P> for ImmutableImage<F, A> where F: 'static + Send + Sync, A: MemoryPool
[src]

fn matches_format(&self) -> bool

Checks whether pixels of type P match the format of the image.

impl<F: 'static, A> ImageView for ImmutableImage<F, A> where F: 'static + Send + Sync, A: MemoryPool
[src]

fn parent(&self) -> &Image

fn parent_arc(me: &Arc<Self>) -> Arc<Image> where Self: Sized

fn blocks(&self) -> Vec<(u32, u32)>

Returns the blocks of the parent image this image view overlaps.

fn inner(&self) -> &UnsafeImageView

Returns the inner unsafe image view object used by this image view.

fn descriptor_set_storage_image_layout(&self) -> Layout

Returns the image layout to use in a descriptor with the given subresource.

fn descriptor_set_combined_image_sampler_layout(&self) -> Layout

Returns the image layout to use in a descriptor with the given subresource.

fn descriptor_set_sampled_image_layout(&self) -> Layout

Returns the image layout to use in a descriptor with the given subresource.

fn descriptor_set_input_attachment_layout(&self) -> Layout

Returns the image layout to use in a descriptor with the given subresource.

fn identity_swizzle(&self) -> bool

Returns true if the view doesn't use components swizzling. Read more

fn format(&self) -> Format

Returns the format of this view. This can be different from the parent's format.

fn samples(&self) -> u32

fn can_be_sampled(&self, sampler: &Sampler) -> bool

Returns true if the given sampler can be used with this image view. Read more