Auto merge of #9044 - ecoal95:offscreen-gl-up, r=jdm

Update offscreen_gl_context

cc: https://github.com/ecoal95/rust-offscreen-rendering-context/pull/46

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9044)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-12-23 20:35:37 +05:30
commit da8952b702
10 changed files with 13 additions and 22 deletions

View file

@ -12,7 +12,7 @@ matrix:
- ./mach build -d --verbose - ./mach build -d --verbose
- ./mach test-unit - ./mach test-unit
- bash etc/ci/lockfile_changed.sh - bash etc/ci/lockfile_changed.sh
- bash etc/ci/manifest_changed.sh - bash etc/ci/manifest_changed.sh
cache: cache:
directories: directories:
- .cargo - .cargo
@ -26,6 +26,7 @@ matrix:
- freeglut3-dev - freeglut3-dev
- gperf - gperf
- libosmesa6-dev - libosmesa6-dev
- libgles2-mesa-dev
- python-virtualenv - python-virtualenv
- xorg-dev - xorg-dev
- ccache - ccache

View file

@ -31,7 +31,8 @@ On Debian-based Linuxes:
sudo apt-get install curl freeglut3-dev \ sudo apt-get install curl freeglut3-dev \
libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \ libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \
gperf g++ cmake python-virtualenv python-pip \ gperf g++ cmake python-virtualenv python-pip \
libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev libglu1-mesa-dev libssl-dev libbz2-dev libosmesa6-dev libxmu6 libxmu-dev \
libglu1-mesa-dev libgles2-mesa-dev
``` ```
If you are on **Ubuntu 14.04** and encountered errors on installing these dependencies involving `libcheese`, see [#6158](https://github.com/servo/servo/issues/6158) for a workaround. If you are on **Ubuntu 14.04** and encountered errors on installing these dependencies involving `libcheese`, see [#6158](https://github.com/servo/servo/issues/6158) for a workaround.

View file

@ -29,7 +29,6 @@ path = "../gfx_traits"
[dependencies.offscreen_gl_context] [dependencies.offscreen_gl_context]
git = "https://github.com/ecoal95/rust-offscreen-rendering-context" git = "https://github.com/ecoal95/rust-offscreen-rendering-context"
features = ["texture_surface"]
[dependencies.ipc-channel] [dependencies.ipc-channel]
git = "https://github.com/servo/ipc-channel" git = "https://github.com/servo/ipc-channel"

View file

@ -11,7 +11,7 @@ use gleam::gl::types::{GLsizei};
use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory}; use ipc_channel::ipc::{self, IpcSender, IpcSharedMemory};
use ipc_channel::router::ROUTER; use ipc_channel::router::ROUTER;
use layers::platform::surface::NativeSurface; use layers::platform::surface::NativeSurface;
use offscreen_gl_context::{ColorAttachmentType, GLContext, GLContextAttributes}; use offscreen_gl_context::{ColorAttachmentType, GLContext, GLContextAttributes, NativeGLContext};
use std::borrow::ToOwned; use std::borrow::ToOwned;
use std::sync::mpsc::{Sender, channel}; use std::sync::mpsc::{Sender, channel};
use util::task::spawn_named; use util::task::spawn_named;
@ -20,7 +20,7 @@ use util::vec::byte_swap;
pub struct WebGLPaintTask { pub struct WebGLPaintTask {
size: Size2D<i32>, size: Size2D<i32>,
original_context_size: Size2D<i32>, original_context_size: Size2D<i32>,
gl_context: GLContext, gl_context: GLContext<NativeGLContext>,
} }
// This allows trying to create the PaintTask // This allows trying to create the PaintTask
@ -29,9 +29,7 @@ unsafe impl Send for WebGLPaintTask {}
impl WebGLPaintTask { impl WebGLPaintTask {
fn new(size: Size2D<i32>, attrs: GLContextAttributes) -> Result<WebGLPaintTask, &'static str> { fn new(size: Size2D<i32>, attrs: GLContextAttributes) -> Result<WebGLPaintTask, &'static str> {
let context = try!( let context = try!(GLContext::new(size, attrs, ColorAttachmentType::Texture, None));
GLContext::create_offscreen_with_color_attachment(
size, attrs, ColorAttachmentType::TextureWithSurface));
// NOTE: As of right now this is always equal to the size parameter, // NOTE: As of right now this is always equal to the size parameter,
// but this doesn't have to be true. Firefox after failing with // but this doesn't have to be true. Firefox after failing with

View file

@ -62,7 +62,6 @@ git = "https://github.com/servo/ipc-channel"
[dependencies.offscreen_gl_context] [dependencies.offscreen_gl_context]
git = "https://github.com/ecoal95/rust-offscreen-rendering-context" git = "https://github.com/ecoal95/rust-offscreen-rendering-context"
features = ["texture_surface"]
[dependencies.gaol] [dependencies.gaol]
git = "https://github.com/pcwalton/gaol" git = "https://github.com/pcwalton/gaol"

View file

@ -21,7 +21,6 @@ path = "../net_traits"
[dependencies.offscreen_gl_context] [dependencies.offscreen_gl_context]
git = "https://github.com/ecoal95/rust-offscreen-rendering-context" git = "https://github.com/ecoal95/rust-offscreen-rendering-context"
features = ["texture_surface"]
[dependencies.plugins] [dependencies.plugins]
path = "../plugins" path = "../plugins"

View file

@ -1266,7 +1266,7 @@ dependencies = [
[[package]] [[package]]
name = "offscreen_gl_context" name = "offscreen_gl_context"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/ecoal95/rust-offscreen-rendering-context#348364d8869d5e673b49c60f40803dfa903c70f2" source = "git+https://github.com/ecoal95/rust-offscreen-rendering-context#0677179502384f07fced16744dbe5882d9a71dfa"
dependencies = [ dependencies = [
"cgl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1274,11 +1274,9 @@ dependencies = [
"gl_generator 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"layers 0.2.0 (git+https://github.com/servo/rust-layers)",
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-glutin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]

View file

@ -34,7 +34,7 @@ extern crate servo;
extern crate time; extern crate time;
use gleam::gl; use gleam::gl;
use offscreen_gl_context::GLContext; use offscreen_gl_context::{GLContext, NativeGLContext};
use servo::Browser; use servo::Browser;
use servo::compositing::windowing::WindowEvent; use servo::compositing::windowing::WindowEvent;
use servo::net_traits::hosts; use servo::net_traits::hosts;
@ -43,7 +43,7 @@ use std::rc::Rc;
#[cfg(not(target_os = "android"))] #[cfg(not(target_os = "android"))]
fn load_gl_when_headless() { fn load_gl_when_headless() {
gl::load_with(|addr| GLContext::get_proc_address(addr) as *const _); gl::load_with(|addr| GLContext::<NativeGLContext>::get_proc_address(addr) as *const _);
} }
#[cfg(target_os = "android")] #[cfg(target_os = "android")]
@ -76,7 +76,7 @@ fn main() {
let window = if opts::get().headless { let window = if opts::get().headless {
// Load gl functions even when in headless mode, // Load gl functions even when in headless mode,
// to avoid crashing with webgl // to avoid crashing with WebGL
load_gl_when_headless(); load_gl_when_headless();
None None
} else { } else {

4
ports/cef/Cargo.lock generated
View file

@ -1201,7 +1201,7 @@ dependencies = [
[[package]] [[package]]
name = "offscreen_gl_context" name = "offscreen_gl_context"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/ecoal95/rust-offscreen-rendering-context#348364d8869d5e673b49c60f40803dfa903c70f2" source = "git+https://github.com/ecoal95/rust-offscreen-rendering-context#0677179502384f07fced16744dbe5882d9a71dfa"
dependencies = [ dependencies = [
"cgl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1209,11 +1209,9 @@ dependencies = [
"gl_generator 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"layers 0.2.0 (git+https://github.com/servo/rust-layers)",
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-glutin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]

4
ports/gonk/Cargo.lock generated
View file

@ -1169,7 +1169,7 @@ dependencies = [
[[package]] [[package]]
name = "offscreen_gl_context" name = "offscreen_gl_context"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/ecoal95/rust-offscreen-rendering-context#348364d8869d5e673b49c60f40803dfa903c70f2" source = "git+https://github.com/ecoal95/rust-offscreen-rendering-context#0677179502384f07fced16744dbe5882d9a71dfa"
dependencies = [ dependencies = [
"cgl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1177,11 +1177,9 @@ dependencies = [
"gl_generator 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"gleam 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"layers 0.2.0 (git+https://github.com/servo/rust-layers)",
"log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"servo-glutin 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
"x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "x11 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
] ]