Add WebRender integration to Servo.

WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!
This commit is contained in:
Glenn Watson 2016-02-18 07:57:31 +10:00
parent f7f0eea470
commit c0531c312f
75 changed files with 2869 additions and 888 deletions

View file

@ -0,0 +1,41 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#version 150
#define SERVO_GL3
uniform sampler2D sDiffuse;
uniform sampler2D sMask;
uniform vec4 uBlendParams;
uniform vec2 uDirection;
uniform vec4 uFilterParams;
in vec2 vPosition;
in vec4 vColor;
in vec2 vColorTexCoord;
in vec2 vMaskTexCoord;
in vec4 vBorderPosition;
in vec4 vBorderRadii;
in vec2 vDestTextureSize;
in vec2 vSourceTextureSize;
in float vBlurRadius;
in vec4 vTileParams;
in vec4 vClipInRect;
in vec4 vClipOutRect;
out vec4 oFragColor;
vec4 Texture(sampler2D sampler, vec2 texCoord) {
return texture(sampler, texCoord);
}
float GetAlphaFromMask(vec4 mask) {
return mask.r;
}
void SetFragColor(vec4 color) {
oFragColor = color;
}