Peter Hall
1e9de470ea
Fixed inconsistency in import of gl::Gl
...
All other uses of `Gl` in this file use the qualified path `gl::Gl`.
2019-02-27 19:27:05 +00:00
Alan Jeffrey
8ddde7eacc
Pass the GL context to the VRDisplay when rendering
2019-02-27 08:57:02 -06:00
bors-servo
3d4a416c6b
Auto merge of #21310 - jdm:canvas-path, r=pcwalton
...
Improve rendering of transformed 2d paths
This makes http://webglreport.com/ render correctly by porting the [equivalent code](https://searchfox.org/mozilla-central/rev/196560b95f191b48ff7cba7c2ba9237bba6b5b6a/dom/canvas/CanvasRenderingContext2D.h#847-875 ) from Gecko's 2d canvas implementation that handles paths with transformations. The first commit fixes the rendering issue, and the second commit fixes some new test failures that were exposed by that change.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21169
- [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/21310 )
<!-- Reviewable:end -->
2019-02-11 14:41:19 -05:00
Josh Matthews
18282b8071
Format canvas code.
2019-02-07 15:13:13 -05:00
Josh Matthews
decf88331b
Keep is_point_in_path using a path, rather than a path builder.
2019-02-07 15:09:59 -05:00
Josh Matthews
2c5a6ebc53
Always store a transform in PathBuilderRef.
2019-02-06 19:17:35 -05:00
Josh Matthews
53ae73bdec
canvas: Refactor implicit path/path builder state machine into a single enum.
2019-02-06 18:39:03 -05:00
Josh Matthews
e7edc367f9
Transform paths between user and device space when there is a 2D canvas transformation present.
2019-02-06 18:39:02 -05:00
Josh Matthews
c87a35e4d5
Ensure canvas path stroking and filling use the same paths.
2019-02-06 18:37:22 -05:00
Josh Matthews
25a61f3783
Report all messages processed by the webgl thread.
2019-01-31 14:57:38 -05:00
Josh Matthews
878f020013
Ensure that resized GL contexts do not destroy their resources while in use by WR.
2019-01-17 22:44:41 -05:00
Simon Sapin
be69f9c3e6
Rustfmt has changed its default style :/
2018-12-28 13:17:47 +01:00
Manish Goregaokar
5413328be2
Update webrender
2018-11-27 17:33:13 -08:00
bors-servo
c96f07a0b5
Auto merge of #22234 - jdm:android-gl-crash, r=Manishearth
...
Fix android GL crash
There were two issues, fundamentally:
1. POINT_SPRITE is not supported on GLES, which was causing the GL_INVALID_ENUM error when using any WebGL API.
2. The version check was using the wrong version value to determine if enabling point sprites was necessary.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #22162
- [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/22234 )
<!-- Reviewable:end -->
2018-11-23 12:38:24 -05:00
Josh Matthews
9c29e139b9
webgl: Don't unnecessarily enable point sprites on GLES.
2018-11-21 14:03:46 -05:00
Anthony Ramine
9a8d03a0f3
Make HTMLCanvasElement::fetch_all_data return a shared memory blob
2018-11-21 12:53:50 +01:00
Anthony Ramine
804d964b7d
Send an IpcSharedMemory in tex_image_2d and tex_sub_image_2d
...
This avoids a copy in the case of textures coming from HTMLImageElement.
2018-11-20 10:14:52 +01:00
Anthony Ramine
cfca906ee2
Call rgba8_byte_swap_colors_inplace on the WebGL thread
2018-11-20 10:14:52 +01:00
Anthony Ramine
87c849c0d6
Move prepare_pixels to the canvas thread
...
Nothing else uses it in the whole crate graph.
2018-11-20 10:14:51 +01:00
Anthony Ramine
ca62b5c318
Call prepare_pixels on the WebGL thread
2018-11-20 10:14:50 +01:00
Anthony Ramine
2a5539caef
Use Size2D in TexImage2D and TexSubImage2D messages
2018-11-20 10:14:49 +01:00
Jan Andre Ikenmeyer
1d6fe65401
Update MPL license to https (part 4)
2018-11-19 14:47:27 +01:00
Anthony Ramine
1c89ac90b9
Send alignment info directly in TexImage2D and TexSubImage2d messages
2018-11-16 12:39:20 +01:00
Anthony Ramine
65d1b11929
Make TexImage2D and TexSubImage2D struct variants
2018-11-16 12:38:07 +01:00
Anthony Ramine
a5779ad372
Prefix some pixels functions with rgba8_
2018-11-16 12:37:34 +01:00
Simon Sapin
9f977c5287
Remove useless use crate_name;
imports.
...
A `crate_name::foo` path always works in 2018
2018-11-08 09:29:52 +01:00
Simon Sapin
2012be4a8b
cargo fix --edition-idioms
2018-11-08 09:28:00 +01:00
Pyfisch
9e92eb205a
Reorder imports
2018-11-06 22:35:07 +01:00
Pyfisch
cb07debcb6
Format remaining files
2018-11-06 22:30:31 +01:00
Simon Sapin
9f9bf8f6bc
Switch most crates to the 2018 edition
2018-11-06 16:12:04 +01:00
Simon Sapin
76e59a46d3
Sort use
statements
2018-11-06 15:26:02 +01:00
Simon Sapin
45f7199eee
cargo fix --edition
2018-11-06 15:26:02 +01:00
Emilio Cobos Álvarez
29f56919e2
Update remaining references to cssparser 0.24.
2018-11-05 12:33:37 +01:00
bors-servo
8aded34bf6
Auto merge of #21914 - Eijebong:canvas-cleanup, r=jdm
...
Use pixels::get_rect in CanvasData::draw_image
Those functions are the same except that get_rect isn't failible, so we
have to check that the rect we want is actually in the image.
<!-- 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/21914 )
<!-- Reviewable:end -->
2018-11-01 03:29:06 -04:00
Paul Rouget
cdf22c1493
Exit Canvas paint thread on shutdown
2018-10-29 11:06:06 +01:00
Anthony Ramine
8828925f4f
Properly support gl_PointSize and gl_PointCoord
...
Fixes #21719 .
Fixes #20993 .
Fixes #20992 .
Fixes #21007 .
Fixes #20979 .
2018-10-18 20:15:23 +02:00
Bastien Orivel
c2be78b3fe
Use pixels::get_rect in CanvasData::draw_image
...
Those functions are the same except that get_rect isn't failible, so we
have to check that the rect we want is actually in the image.
2018-10-12 19:57:26 +02:00
bors-servo
7e78edcff9
Auto merge of #21725 - pyfisch:update-wr, r=jdm
...
Update Webrender
New version is
9156a4465f6ad715a0206cdd9a7e9a6f0385fbd6
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because just updating WR
<!-- 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/21725 )
<!-- Reviewable:end -->
2018-10-12 12:49:23 -04:00
Anthony Ramine
bb2101f540
Simplify ctx.drawImage a bit
...
There is no need to swap between RGBA and BGRA twice.
2018-10-11 15:46:42 +02:00
Pyfisch
d13172845c
Update Webrender
...
New version is
9156a4465f6ad715a0206cdd9a7e9a6f0385fbd6
2018-10-09 18:23:18 -04:00
Anthony Ramine
c53db64e63
Return input as is when there is no cropping to be done
2018-10-09 14:57:04 +02:00
Anthony Ramine
2bf4fcd9bd
Remove some condition in CanvasData::write_image
...
The surface creation should never fail.
2018-10-09 14:57:04 +02:00
Anthony Ramine
6c469b90b1
Share some code between 2D canvas and WebGL
2018-10-09 14:57:02 +02:00
Anthony Ramine
77c28bdfc9
Abstract some stuff common to ctx.getImageData and ctx.putImageData
2018-10-08 11:39:09 +02:00
Anthony Ramine
e62dbabb46
Handle some transparent black cases in ctx.getImageData
2018-10-07 02:52:06 +02:00
Anthony Ramine
241dba064d
Align ctx.createImageData and ctx.getImageData with the spec
2018-10-06 11:41:48 +02:00
Anthony Ramine
f13e35b2c5
Always make sure we get a surface in CanvasData::put_image_data
2018-10-06 10:53:10 +02:00
Anthony Ramine
75e6f5dfaa
Avoid copying pixels in ctx.putImageData sometimes
2018-10-06 02:59:25 +02:00
Anthony Ramine
19f40cdf0b
Introduce ImageData::get_rect
...
We use that to send only the pixels that will be actually drawn to the
canvas thread in CanvasRenderingContext2d::PutImageData.
We also make the canvas thread byte swap and premultiply colours in-place.
2018-10-06 01:12:05 +02:00
Anthony Ramine
784fbb2bc1
Merge some byte swap/premultiply functions in their own crate
2018-10-06 01:11:55 +02:00