aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas
diff options
context:
space:
mode:
Diffstat (limited to 'components/canvas')
-rw-r--r--components/canvas/webgl_mode/inprocess.rs3
-rw-r--r--components/canvas/webgl_thread.rs36
2 files changed, 17 insertions, 22 deletions
diff --git a/components/canvas/webgl_mode/inprocess.rs b/components/canvas/webgl_mode/inprocess.rs
index 749f0062aeb..aad799776db 100644
--- a/components/canvas/webgl_mode/inprocess.rs
+++ b/components/canvas/webgl_mode/inprocess.rs
@@ -12,8 +12,7 @@ use log::debug;
use sparkle::gl::GlType;
use surfman::chains::{SwapChainAPI, SwapChains, SwapChainsAPI};
use surfman::{Device, SurfaceInfo, SurfaceTexture};
-use webrender::RenderApiSender;
-use webrender_api::DocumentId;
+use webrender_api::{DocumentId, RenderApiSender};
use webrender_surfman::WebrenderSurfman;
use webrender_traits::{
WebrenderExternalImageApi, WebrenderExternalImageRegistry, WebrenderImageSource,
diff --git a/components/canvas/webgl_thread.rs b/components/canvas/webgl_thread.rs
index 8e1e55f4c91..eacc94c590b 100644
--- a/components/canvas/webgl_thread.rs
+++ b/components/canvas/webgl_thread.rs
@@ -32,11 +32,10 @@ use surfman::{
self, Adapter, Connection, Context, ContextAttributeFlags, ContextAttributes, Device,
GLVersion, SurfaceAccess, SurfaceInfo, SurfaceType,
};
-use webrender::{RenderApi, RenderApiSender, Transaction};
-use webrender_api::units::DeviceIntSize;
use webrender_api::{
- DirtyRect, DocumentId, ExternalImageData, ExternalImageId, ExternalImageType, ImageBufferKind,
- ImageData, ImageDescriptor, ImageDescriptorFlags, ImageFormat, ImageKey,
+ units::DeviceIntSize, DirtyRect, DocumentId, ExternalImageData, ExternalImageId,
+ ExternalImageType, ImageData, ImageDescriptor, ImageDescriptorFlags, ImageFormat, ImageKey,
+ RenderApi, RenderApiSender, TextureTarget, Transaction,
};
use webrender_traits::{WebrenderExternalImageRegistry, WebrenderImageHandlerType};
use webxr::SurfmanGL as WebXRSurfman;
@@ -576,7 +575,7 @@ impl WebGLThread {
let descriptor_attributes = self.device.context_descriptor_attributes(&descriptor);
let gl_version = descriptor_attributes.version;
let has_alpha = requested_flags.contains(ContextAttributeFlags::ALPHA);
- let image_buffer_kind = current_wr_image_buffer_kind(&self.device);
+ let texture_target = current_wr_texture_target(&self.device);
self.device.make_context_current(&ctx).unwrap();
let framebuffer = self
@@ -635,7 +634,7 @@ impl WebGLThread {
size.to_i32(),
has_alpha,
id,
- image_buffer_kind,
+ texture_target,
);
self.cached_context_info
@@ -691,7 +690,7 @@ impl WebGLThread {
.state
.requested_flags
.contains(ContextAttributeFlags::ALPHA);
- let image_buffer_kind = current_wr_image_buffer_kind(&self.device);
+ let texture_target = current_wr_texture_target(&self.device);
Self::update_wr_external_image(
&mut self.webrender_api,
self.webrender_doc,
@@ -699,7 +698,7 @@ impl WebGLThread {
has_alpha,
context_id,
info.image_key,
- image_buffer_kind,
+ texture_target,
);
debug_assert_eq!(data.gl.get_error(), gl::NO_ERROR);
@@ -895,10 +894,10 @@ impl WebGLThread {
size: Size2D<i32>,
alpha: bool,
context_id: WebGLContextId,
- image_buffer_kind: ImageBufferKind,
+ target: TextureTarget,
) -> ImageKey {
let descriptor = Self::image_descriptor(size, alpha);
- let data = Self::external_image_data(context_id, image_buffer_kind);
+ let data = Self::external_image_data(context_id, target);
let image_key = webrender_api.generate_image_key();
let mut txn = Transaction::new();
@@ -916,10 +915,10 @@ impl WebGLThread {
alpha: bool,
context_id: WebGLContextId,
image_key: ImageKey,
- image_buffer_kind: ImageBufferKind,
+ target: TextureTarget,
) {
let descriptor = Self::image_descriptor(size, alpha);
- let data = Self::external_image_data(context_id, image_buffer_kind);
+ let data = Self::external_image_data(context_id, target);
let mut txn = Transaction::new();
txn.update_image(image_key, descriptor, data, &DirtyRect::All);
@@ -940,14 +939,11 @@ impl WebGLThread {
}
/// Helper function to create a `ImageData::External` instance.
- fn external_image_data(
- context_id: WebGLContextId,
- image_buffer_kind: ImageBufferKind,
- ) -> ImageData {
+ fn external_image_data(context_id: WebGLContextId, target: TextureTarget) -> ImageData {
let data = ExternalImageData {
id: ExternalImageId(context_id.0 as u64),
channel_index: 0,
- image_type: ExternalImageType::TextureHandle(image_buffer_kind),
+ image_type: ExternalImageType::TextureHandle(target),
};
ImageData::External(data)
}
@@ -977,10 +973,10 @@ struct WebGLContextInfo {
}
// TODO(pcwalton): Add `GL_TEXTURE_EXTERNAL_OES`?
-fn current_wr_image_buffer_kind(device: &Device) -> ImageBufferKind {
+fn current_wr_texture_target(device: &Device) -> TextureTarget {
match device.surface_gl_texture_target() {
- gl::TEXTURE_RECTANGLE => ImageBufferKind::TextureRect,
- _ => ImageBufferKind::Texture2D,
+ gl::TEXTURE_RECTANGLE => TextureTarget::Rect,
+ _ => TextureTarget::Default,
}
}