Struct webrender::device::gl::TextureUploader
source · pub struct TextureUploader<'a> {
buffers: Vec<PixelBuffer<'a>>,
pub pbo_pool: &'a mut UploadPBOPool,
}
Expand description
Used to perform a series of texture uploads. Create using Device::upload_texture(). Perform a series of uploads using either upload(), or stage() and upload_staged(), then call flush().
Fields§
§buffers: Vec<PixelBuffer<'a>>
A list of buffers containing uploads that need to be flushed.
pbo_pool: &'a mut UploadPBOPool
Pool used to obtain PBOs to fill with texture data.
Implementations§
source§impl<'a> TextureUploader<'a>
impl<'a> TextureUploader<'a>
sourcepub fn stage(
&mut self,
device: &mut Device,
format: ImageFormat,
size: DeviceIntSize,
) -> Result<UploadStagingBuffer<'a>, String>
pub fn stage( &mut self, device: &mut Device, format: ImageFormat, size: DeviceIntSize, ) -> Result<UploadStagingBuffer<'a>, String>
Returns an UploadStagingBuffer which can be used to manually stage data to be uploaded. Once the data has been staged, it can be uploaded with upload_staged().
sourcepub fn upload_staged(
&mut self,
device: &mut Device,
texture: &'a Texture,
rect: DeviceIntRect,
format_override: Option<ImageFormat>,
staging_buffer: UploadStagingBuffer<'a>,
) -> usize
pub fn upload_staged( &mut self, device: &mut Device, texture: &'a Texture, rect: DeviceIntRect, format_override: Option<ImageFormat>, staging_buffer: UploadStagingBuffer<'a>, ) -> usize
Uploads manually staged texture data to the specified texture.
sourcepub fn upload<T>(
&mut self,
device: &mut Device,
texture: &'a Texture,
rect: DeviceIntRect,
stride: Option<i32>,
format_override: Option<ImageFormat>,
data: *const T,
len: usize,
) -> usize
pub fn upload<T>( &mut self, device: &mut Device, texture: &'a Texture, rect: DeviceIntRect, stride: Option<i32>, format_override: Option<ImageFormat>, data: *const T, len: usize, ) -> usize
Uploads texture data to the specified texture.
fn flush_buffer( device: &mut Device, pbo_pool: &mut UploadPBOPool, buffer: PixelBuffer<'_>, )
sourcepub fn flush(self, device: &mut Device)
pub fn flush(self, device: &mut Device)
Flushes all pending texture uploads. Must be called after all required upload() or upload_staged() calls have been made.
fn update_impl(device: &mut Device, chunk: UploadChunk<'_>)
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for TextureUploader<'a>
impl<'a> !RefUnwindSafe for TextureUploader<'a>
impl<'a> !Send for TextureUploader<'a>
impl<'a> !Sync for TextureUploader<'a>
impl<'a> Unpin for TextureUploader<'a>
impl<'a> !UnwindSafe for TextureUploader<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more