Skip to content
Snippets Groups Projects
Commit ec8eff91 authored by Glenn Watson's avatar Glenn Watson
Browse files

Bug 1883932 - Add R16 support to texture upload pool a=RyanVM

parent dcd261d2
No related branches found
No related tags found
No related merge requests found
......@@ -43,6 +43,7 @@ use crate::profiler;
use crate::render_api::MemoryReport;
pub const BATCH_UPLOAD_TEXTURE_SIZE: DeviceIntSize = DeviceIntSize::new(512, 512);
const BATCH_UPLOAD_FORMAT_COUNT: usize = 4;
/// Upload a number of items to texture cache textures.
///
......@@ -627,10 +628,10 @@ pub struct UploadTexturePool {
/// The textures in the pool associated with a last used frame index.
///
/// The outer array corresponds to each of teh three supported texture formats.
textures: [VecDeque<(Texture, u64)>; 3],
textures: [VecDeque<(Texture, u64)>; BATCH_UPLOAD_FORMAT_COUNT],
// Frame at which to deallocate some textures if there are too many in the pool,
// for each format.
delay_texture_deallocation: [u64; 3],
delay_texture_deallocation: [u64; BATCH_UPLOAD_FORMAT_COUNT],
current_frame: u64,
/// Temporary buffers that are used when using staging uploads + glTexImage2D.
......@@ -646,8 +647,8 @@ pub struct UploadTexturePool {
impl UploadTexturePool {
pub fn new() -> Self {
UploadTexturePool {
textures: [VecDeque::new(), VecDeque::new(), VecDeque::new()],
delay_texture_deallocation: [0; 3],
textures: [VecDeque::new(), VecDeque::new(), VecDeque::new(), VecDeque::new()],
delay_texture_deallocation: [0; BATCH_UPLOAD_FORMAT_COUNT],
current_frame: 0,
temporary_buffers: Vec::new(),
min_temporary_buffers: 0,
......@@ -660,6 +661,7 @@ impl UploadTexturePool {
ImageFormat::RGBA8 => 0,
ImageFormat::BGRA8 => 1,
ImageFormat::R8 => 2,
ImageFormat::R16 => 3,
_ => { panic!("unexpected format"); }
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment