Merge changes I66c184ec,I857659d6
* changes:
Respect LayerSettings::alpha in Skia-RE for buffer layers
Support bilinear filtering in Skia-RE
diff --git a/libs/renderengine/skia/SkiaGLRenderEngine.cpp b/libs/renderengine/skia/SkiaGLRenderEngine.cpp
index 07be0b6..579260b 100644
--- a/libs/renderengine/skia/SkiaGLRenderEngine.cpp
+++ b/libs/renderengine/skia/SkiaGLRenderEngine.cpp
@@ -652,7 +652,16 @@
matrix.postConcat(texMatrix);
matrix.postScale(rotatedBufferWidth, rotatedBufferHeight);
- sk_sp<SkShader> shader = image->makeShader(matrix);
+ sk_sp<SkShader> shader;
+
+ if (layer->source.buffer.useTextureFiltering) {
+ shader = image->makeShader(SkTileMode::kClamp, SkTileMode::kClamp,
+ SkSamplingOptions(
+ {SkFilterMode::kLinear, SkMipmapMode::kNone}),
+ &matrix);
+ } else {
+ shader = image->makeShader(matrix);
+ }
if (mUseColorManagement &&
needsToneMapping(layer->sourceDataspace, display.outputDataspace)) {
@@ -668,6 +677,8 @@
} else {
paint.setShader(shader);
}
+ // Make sure to take into the account the alpha set on the layer.
+ paint.setAlphaf(layer->alpha);
} else {
ATRACE_NAME("DrawColor");
const auto color = layer->source.solidColor;