Commit graph

33989 commits

Author SHA1 Message Date
Paul Rouget
cef71b47db Upload AAR alongside the APK 2018-08-03 09:42:14 +02:00
Anthony Ramine
04c81c5cc3 Merge code from Draw* and Draw*Instanced methods
This made me realise we weren't supporting OES_element_index_uint in the
ANGLE_instanced_arrays extension.
2018-08-02 22:54:39 +02:00
bors-servo
c5aaae7333
Auto merge of #21324 - servo:webgl, r=emilio
Properly set initial values for WebGL texture filters

<!-- 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/21324)
<!-- Reviewable:end -->
2018-08-02 12:08:12 -04:00
Anthony Ramine
f7124886bc Use the DOM cache for gl.getTexParameter(gl.TEXTURE_*_FILTER)
Part of #20596.
2018-08-02 18:06:58 +02:00
Anthony Ramine
9e912be4ea Properly set initial values for WebGL texture filters 2018-08-02 15:53:57 +02:00
bors-servo
bde8a1e239
Auto merge of #21313 - jdm:glstuff, r=nox
Framebuffer and renderbuffer fixes

This commits address two separate panics that occur when running the framebuffer-object-attachment.html test. The test still panics due to another framebuffer completion status problem, so the overall test results don't demonstrate any improvement.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21252
- [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/21313)
<!-- Reviewable:end -->
2018-08-02 09:26:35 -04:00
bors-servo
a5fba3c8d6
Auto merge of #21307 - servo:webgl, r=emilio
Always use a WebGLVertexArrayObject to handle vertex attribs

This lets us clean up how buffers are reference-counted.

<!-- 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/21307)
<!-- Reviewable:end -->
2018-08-02 06:48:35 -04:00
Anthony Ramine
fba6d801a1 Always use a WebGLVertexArrayObject to handle vertex attribs
This lets us clean up how buffers are reference-counted.
2018-08-02 12:46:19 +02:00
Josh Matthews
03eb7e4dd2 webgl: Emulate some renderbuffer formats in non-GLES. 2018-08-02 02:05:53 -04:00
bors-servo
5c5ed54a6b
Auto merge of #21316 - servo:jdm-patch-27, r=Manishearth
mach: Avoid python error when there's no cargo cache.

This happens when we have a newly provisioned machine.

<!-- 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/21316)
<!-- Reviewable:end -->
2018-08-01 23:28:29 -04:00
Josh Matthews
6ad63b57e7
Fix python indentation. 2018-08-01 23:26:15 -04:00
Josh Matthews
458879b2cd
mach: Avoid python error when there's no cargo cache. 2018-08-01 20:52:17 -04:00
Josh Matthews
3334e477c1 webgl: Mark zero-sized framebuffers as incomplete attachments. 2018-08-01 15:40:46 -04:00
bors-servo
451c52e18d
Auto merge of #21309 - servo:jdm-patch-26, r=jdm
Actually clean all build artifacts.

I forgot that the remove-build-directories script on saltfs and the cleanup script in etc/ci are completely separate things.

<!-- 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/21309)
<!-- Reviewable:end -->
2018-08-01 15:27:54 -04:00
bors-servo
88f3c8e158
Auto merge of #21301 - paulrouget:stickykeys, r=Manishearth
Do not manually keep the modifiers state

Fix #21294

<!-- 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/21301)
<!-- Reviewable:end -->
2018-08-01 13:53:27 -04:00
Josh Matthews
aba765afbb
Actually clean all build artifacts. 2018-08-01 12:09:22 -04:00
bors-servo
733552d997
Auto merge of #21234 - paulrouget:surface, r=MortimerGoro
Android: Introduce ServoSurface

(WIP as it depends on 2 other PRs)

Depends on #21199. Only last commit matters.

r? @MortimerGoro

Please look at ServoSurface.java. The rest is mostly some refactoring to share as much code as possible with ServoView.

<!-- 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/21234)
<!-- Reviewable:end -->
2018-08-01 12:04:32 -04:00
bors-servo
890d40dd4f
Auto merge of #21308 - paulrouget:jsonerror, r=jdm
Android: Fix JSON error when no arguments are passed

Probably fix #21298

<!-- 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/21308)
<!-- Reviewable:end -->
2018-08-01 09:53:11 -04:00
Paul Rouget
fb8d8b33ac Android: Fix JSON error when no arguments are passed 2018-08-01 21:01:49 +08:00
Paul Rouget
4dfe617d3f Fix page size when device-pixel-ratio is set manually 2018-08-01 11:52:31 +02:00
Paul Rouget
8c4d4a3aaa Do not manually keep the modifiers state 2018-08-01 11:07:56 +02:00
bors-servo
3e09d7270a
Auto merge of #21199 - paulrouget:aar, r=MortimerGoro
Publish a AAR with servoview

Depends on #20912

Fix #21127

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/21199)
<!-- Reviewable:end -->
2018-08-01 05:05:49 -04:00
Paul Rouget
c36b16546e Introduce ServoSurface 2018-08-01 16:35:22 +08:00
Paul Rouget
02983ef39a Add make_current to libsimpleservo 2018-08-01 16:33:46 +08:00
Paul Rouget
e8af185a3d Build a AAR archive alongside the APK 2018-08-01 16:15:47 +08:00
bors-servo
78e90d6358
Auto merge of #21282 - felixrabe:patch-2, r=jdm
Code style: Use canonical naming and formatting

<!-- 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/21282)
<!-- Reviewable:end -->
2018-07-31 18:28:31 -04:00
bors-servo
95b54ca8f3
Auto merge of #20912 - paulrouget:androidv2, r=jdm,mortimergoro,simonsapin
Revisit how the Android port works.

Fix #20855
Fix #18625
Fix #21147

Before polishing and making sure everything works fine (like the VR code, the android-x86 version, the non-android version of the lib, …), I'd like to get some early feedback on the approach.

I recommend reviewing commit by commit.

To test, just follow the regular steps:

```
    ./mach build -d --android
    ./mach package --dev --android builds servo.apk
    ./mach install --dev --android && ./mach run --android
```

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/20912)
<!-- Reviewable:end -->
2018-07-31 13:07:33 -04:00
Paul Rouget
6a31864126 Update Gradle and SDK 2018-07-31 22:39:45 +08:00
Paul Rouget
bef2fe83cd new android port: fix android build and tests 2018-07-31 22:39:45 +08:00
Paul Rouget
76d394eca8 new android port: update fakeld 2018-07-31 22:39:45 +08:00
Paul Rouget
be6b5f9aad new android port: minimal Android app that relies on libsimpleservo 2018-07-31 22:39:44 +08:00
Paul Rouget
baf6635a4c new android port: introduce a simple servo library 2018-07-31 22:33:51 +08:00
Paul Rouget
cbaf19c65c new android port: Remove Android code from /ports/servo/ 2018-07-31 22:08:54 +08:00
bors-servo
0051597525
Auto merge of #21158 - ferjm:webaudio, r=manishearth,nox,ferjm
WebAudio API

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

This PR adds basic support for the WebAudio API using [servo-media](https://github.com/servo/media) with GStreamer as the audio backend.

There are still some major stuff to fix like:

- [x] Detach ArrayBuffer during the [AudioBuffer "acquire the content" operation](https://webaudio.github.io/web-audio-api/#acquire-the-content). I am naively using `JS_StealArrayBufferContents()` directly, because it is what Gecko uses, but this should probably be part of the [rust-mozjs](https://github.com/servo/rust-mozjs) [TypedArray](https://github.com/servo/rust-mozjs/blob/master/src/typedarray.rs) API. And, in any case, I am not even sure if that's the proper way to do it. According to the results of the WPTs it may not even be right since [this assertion](https://github.com/servo/rust-mozjs/blob/master/src/typedarray.rs#L285) is failing in some cases. I need to dig more about this.
- [x] Disable the GStreamer dependency on Android. Unfortunately gstreamer-rs requires an NDK version upgrade, so we need to disable this for Android until then. I tried adding [different features to servo-media](https://github.com/servo/media/pull/79), but I am currently hitting [this issue](https://github.com/rust-lang/cargo/issues/1197)

I still need to run servo-tidy, change the servo-media dependency to use the git repo and add/fix some comments and TODOs.

The remaining feature work should be done in future PRs.

Note that most of the failing WPTs are failing because we don't implement the tested features yet (we only implement a few AudioNodes) and we have no OfflineAudioContext support, which most WPTs rely on.

<!-- 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/21158)
<!-- Reviewable:end -->
2018-07-31 09:00:06 -04:00
bors-servo
6e7f7fc8eb
Auto merge of #21284 - servo:webgl, r=emilio
Various fixes for the lifecycle of WebGL objects

<!-- 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/21284)
<!-- Reviewable:end -->
2018-07-31 05:14:24 -04:00
Anthony Ramine
34d1195af3 Reenable origin-clean-conformance.html 2018-07-31 11:12:46 +02:00
Anthony Ramine
15d1215949 Properly check for context ownership of objects passed to gl.is*() 2018-07-31 11:12:45 +02:00
Anthony Ramine
76f23f7d78 Simplify gl.getShaderParameter() (fixes #20562)
The expectation change is due to the shader now using its DOM-side compile status.
It is actually a bug for the shader to think it actually compiled successfully,
but at least it does so consistently now.
2018-07-31 11:12:45 +02:00
Anthony Ramine
a0fc4c9832 Fix program and shader lifetime cycle 2018-07-31 11:12:40 +02:00
Manish Goregaokar
2daf9ff3eb Update wpt expectations 2018-07-30 20:38:25 -07:00
Manish Goregaokar
1bb34b1aa9 Bump servo-media 2018-07-30 16:42:38 -07:00
Manish Goregaokar
2c19814bec 48000 -> 44100 2018-07-30 16:42:38 -07:00
Manish Goregaokar
a1fe48d721 Use JS_GetArrayBufferViewBuffer with JS_DetachArrayBuffer 2018-07-30 16:42:38 -07:00
Anthony Ramine
43463e80cb Remove an obsolete todo in gl.compileShader()
We get the uniform data etc at link-time.
2018-07-31 00:28:14 +02:00
Anthony Ramine
6af2ce79a2 Remove an obsolete todo in gl.attachShader()
Attaching the same shader twice should indeed emit an InvalidOperation error.
2018-07-31 00:28:14 +02:00
Anthony Ramine
3c0e82d106 Reenable glsl-long-variable-names.html 2018-07-31 00:28:13 +02:00
Anthony Ramine
e2425c9158 Mark many-draw-calls.html as long-running 2018-07-31 00:28:13 +02:00
bors-servo
b8b691d063
Auto merge of #21286 - servo:jdm-patch-25, r=jdm
Avoid frequent disk space errors on cross builders.

This is killing our CI throughput. Fixes #21235.

<!-- 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/21286)
<!-- Reviewable:end -->
2018-07-30 16:42:36 -04:00
Josh Matthews
f63c9d14a9 Avoid frequent disk space errors on cross builders. 2018-07-30 15:39:24 -04:00
Fernando Jiménez Moreno
b738d9a912 Throw if AudioBufferSourceNode.Start params are negative 2018-07-30 19:54:55 +02:00