gl: Tweak the swizzle for GLES texture fragments
Cairo surfaces are in BGRA format, but we upload them as RGBA buffers on GLES; this means that the R and B channels are flipped in the texture data. Instead of doing a costly channel flip before putting them on the GPU, we can flip the values inside the GLSL shader we use specifically for GLES.
This commit is contained in:
		@ -5,5 +5,8 @@ uniform sampler2D map;
 | 
			
		||||
varying highp vec2 vUv;
 | 
			
		||||
 | 
			
		||||
void main() {
 | 
			
		||||
  gl_FragColor = texture2D(map, vUv);
 | 
			
		||||
  vec4 color = texture2D(map, vUv);
 | 
			
		||||
 | 
			
		||||
  /* Flip R and B around to match the Cairo convention */
 | 
			
		||||
  gl_FragColor = vec4(color.z, color.y, color.x, color.w);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user