mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
Call prepare_pixels in tex_image_2d and tex_sub_image_2d
This commit is contained in:
parent
b1a2b6b5bf
commit
1e2a72abfe
1 changed files with 48 additions and 45 deletions
|
@ -496,9 +496,8 @@ impl WebGLRenderingContext {
|
||||||
rgba8[3] = 255u8;
|
rgba8[3] = 255u8;
|
||||||
}
|
}
|
||||||
|
|
||||||
let pixels = self.prepare_pixels(format, data_type, width, height, 1, true, true, pixels);
|
|
||||||
self.tex_image_2d(
|
self.tex_image_2d(
|
||||||
texture, target, data_type, format, level, width, height, 0, 1, pixels,
|
texture, target, data_type, format, level, width, height, 0, 1, true, true, pixels,
|
||||||
);
|
);
|
||||||
|
|
||||||
false
|
false
|
||||||
|
@ -771,9 +770,20 @@ impl WebGLRenderingContext {
|
||||||
height: u32,
|
height: u32,
|
||||||
_border: u32,
|
_border: u32,
|
||||||
unpacking_alignment: u32,
|
unpacking_alignment: u32,
|
||||||
|
source_premultiplied: bool,
|
||||||
|
source_from_image_or_canvas: bool,
|
||||||
pixels: Vec<u8>,
|
pixels: Vec<u8>,
|
||||||
) {
|
) {
|
||||||
// NB: pixels should NOT be premultipied
|
let pixels = self.prepare_pixels(
|
||||||
|
internal_format,
|
||||||
|
data_type,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
unpacking_alignment,
|
||||||
|
source_premultiplied,
|
||||||
|
source_from_image_or_canvas,
|
||||||
|
pixels,
|
||||||
|
);
|
||||||
|
|
||||||
// TexImage2D depth is always equal to 1
|
// TexImage2D depth is always equal to 1
|
||||||
handle_potential_webgl_error!(
|
handle_potential_webgl_error!(
|
||||||
|
@ -836,8 +846,21 @@ impl WebGLRenderingContext {
|
||||||
format: TexFormat,
|
format: TexFormat,
|
||||||
data_type: TexDataType,
|
data_type: TexDataType,
|
||||||
unpacking_alignment: u32,
|
unpacking_alignment: u32,
|
||||||
|
source_premultiplied: bool,
|
||||||
|
source_from_image_or_canvas: bool,
|
||||||
pixels: Vec<u8>,
|
pixels: Vec<u8>,
|
||||||
) {
|
) {
|
||||||
|
let pixels = self.prepare_pixels(
|
||||||
|
format,
|
||||||
|
data_type,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
unpacking_alignment,
|
||||||
|
source_premultiplied,
|
||||||
|
source_from_image_or_canvas,
|
||||||
|
pixels,
|
||||||
|
);
|
||||||
|
|
||||||
// We have already validated level
|
// We have already validated level
|
||||||
let image_info = texture.image_info_for_target(&target, level);
|
let image_info = texture.image_info_for_target(&target, level);
|
||||||
|
|
||||||
|
@ -3735,17 +3758,6 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
return Ok(()); // The validator sets the correct error for use
|
return Ok(()); // The validator sets the correct error for use
|
||||||
}
|
}
|
||||||
|
|
||||||
let pixels = self.prepare_pixels(
|
|
||||||
format,
|
|
||||||
data_type,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
unpacking_alignment,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
buff,
|
|
||||||
);
|
|
||||||
|
|
||||||
self.tex_image_2d(
|
self.tex_image_2d(
|
||||||
&texture,
|
&texture,
|
||||||
target,
|
target,
|
||||||
|
@ -3756,7 +3768,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
height,
|
height,
|
||||||
border,
|
border,
|
||||||
unpacking_alignment,
|
unpacking_alignment,
|
||||||
pixels,
|
false,
|
||||||
|
false,
|
||||||
|
buff,
|
||||||
);
|
);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
@ -3813,21 +3827,20 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
return Ok(()); // The validator sets the correct error for use
|
return Ok(()); // The validator sets the correct error for use
|
||||||
}
|
}
|
||||||
|
|
||||||
let unpacking_alignment = 1;
|
self.tex_image_2d(
|
||||||
let pixels = self.prepare_pixels(
|
&texture,
|
||||||
format,
|
target,
|
||||||
data_type,
|
data_type,
|
||||||
|
format,
|
||||||
|
level,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
unpacking_alignment,
|
border,
|
||||||
|
1,
|
||||||
premultiplied,
|
premultiplied,
|
||||||
true,
|
true,
|
||||||
pixels,
|
pixels,
|
||||||
);
|
);
|
||||||
|
|
||||||
self.tex_image_2d(
|
|
||||||
&texture, target, data_type, format, level, width, height, border, 1, pixels,
|
|
||||||
);
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3949,18 +3962,6 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
return Ok(self.webgl_error(InvalidOperation));
|
return Ok(self.webgl_error(InvalidOperation));
|
||||||
}
|
}
|
||||||
|
|
||||||
let unpacking_alignment = self.texture_unpacking_alignment.get();
|
|
||||||
let pixels = self.prepare_pixels(
|
|
||||||
format,
|
|
||||||
data_type,
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
unpacking_alignment,
|
|
||||||
false,
|
|
||||||
false,
|
|
||||||
buff,
|
|
||||||
);
|
|
||||||
|
|
||||||
self.tex_sub_image_2d(
|
self.tex_sub_image_2d(
|
||||||
texture,
|
texture,
|
||||||
target,
|
target,
|
||||||
|
@ -3972,7 +3973,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
format,
|
format,
|
||||||
data_type,
|
data_type,
|
||||||
unpacking_alignment,
|
unpacking_alignment,
|
||||||
pixels,
|
false,
|
||||||
|
false,
|
||||||
|
buff,
|
||||||
);
|
);
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
@ -4018,21 +4021,21 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
|
||||||
Err(_) => return Ok(()), // NB: The validator sets the correct error for us.
|
Err(_) => return Ok(()), // NB: The validator sets the correct error for us.
|
||||||
};
|
};
|
||||||
|
|
||||||
let unpacking_alignment = 1;
|
self.tex_sub_image_2d(
|
||||||
let pixels = self.prepare_pixels(
|
texture,
|
||||||
format,
|
target,
|
||||||
data_type,
|
level,
|
||||||
|
xoffset,
|
||||||
|
yoffset,
|
||||||
width,
|
width,
|
||||||
height,
|
height,
|
||||||
unpacking_alignment,
|
format,
|
||||||
|
data_type,
|
||||||
|
1,
|
||||||
premultiplied,
|
premultiplied,
|
||||||
true,
|
true,
|
||||||
pixels,
|
pixels,
|
||||||
);
|
);
|
||||||
|
|
||||||
self.tex_sub_image_2d(
|
|
||||||
texture, target, level, xoffset, yoffset, width, height, format, data_type, 1, pixels,
|
|
||||||
);
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue