Auto merge of #24176 - jdm:no-gleam, r=asajeffrey

Replace use of gleam in webgl with sparkle.

Rely on https://github.com/servo/sparkle for the GL bindings required to implement Servo's WebGL stack. This does not touch the GL usage in the compositor or webrender, which continue to rely on https://github.com/servo/gleam. This means that any breaking changes to the public GL bindings interface (such as required by https://github.com/servo/servo/pull/24111) only require updating rust-offscreen-rendering-context and rust-webvr, rather than many other crates that are out of our direct control.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24176)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-09-12 16:08:58 -04:00 committed by GitHub
commit 89d0b0233a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 103 additions and 72 deletions

View file

@ -52,7 +52,6 @@ encoding_rs = "0.8"
enum-iterator = "0.2.0"
euclid = "0.20"
fnv = "1.0"
gleam = "0.6"
headers = "0.2"
html5ever = "0.23"
http = "0.1"
@ -100,6 +99,7 @@ servo_geometry = {path = "../geometry" }
servo-media = {git = "https://github.com/servo/media"}
servo_rand = {path = "../rand"}
servo_url = {path = "../url"}
sparkle = "0.1"
smallvec = { version = "0.6", features = ["std", "union"] }
style = {path = "../style", features = ["servo"]}
style_traits = {path = "../style_traits"}

View file

@ -20,9 +20,9 @@ use crate::dom::webglrenderingcontext::WebGLRenderingContext;
use crate::dom::webgltexture::TexCompression;
use canvas_traits::webgl::{GlType, WebGLVersion};
use fnv::{FnvHashMap, FnvHashSet};
use gleam::gl::{self, GLenum};
use js::jsapi::JSObject;
use malloc_size_of::MallocSizeOf;
use sparkle::gl::{self, GLenum};
use std::collections::HashMap;
use std::iter::FromIterator;
use std::ptr::NonNull;