return S3C_FB_PIXEL_FORMAT_RGBA_8888;
case HAL_PIXEL_FORMAT_RGBX_8888:
return S3C_FB_PIXEL_FORMAT_RGBX_8888;
- case HAL_PIXEL_FORMAT_RGBA_5551:
- return S3C_FB_PIXEL_FORMAT_RGBA_5551;
case HAL_PIXEL_FORMAT_RGB_565:
return S3C_FB_PIXEL_FORMAT_RGB_565;
case HAL_PIXEL_FORMAT_BGRA_8888:
case HAL_PIXEL_FORMAT_RGB_888:
case HAL_PIXEL_FORMAT_RGB_565:
case HAL_PIXEL_FORMAT_BGRA_8888:
- case HAL_PIXEL_FORMAT_RGBA_5551:
- case HAL_PIXEL_FORMAT_RGBA_4444:
return true;
default:
case HAL_PIXEL_FORMAT_BGRA_8888:
return 32;
- case HAL_PIXEL_FORMAT_RGBA_5551:
- case HAL_PIXEL_FORMAT_RGBA_4444:
case HAL_PIXEL_FORMAT_RGB_565:
return 16;
dst_crop_w_aligned(dest_w) &&
handle->stride <= max_w &&
handle->stride % GSC_W_ALIGNMENT == 0 &&
- src_w <= dest_w * max_downscale &&
+ src_w < dest_w * max_downscale &&
dest_w <= src_w * max_upscale &&
handle->vstride <= max_h &&
handle->vstride % GSC_H_ALIGNMENT == 0 &&
- src_h <= dest_h * max_downscale &&
+ src_h < dest_h * max_downscale &&
dest_h <= src_h * max_upscale &&
// per 46.2
(!rot90or270 || layer.sourceCrop.top % 2 == 0) &&
return false;
}
- if (exynos5_visible_width(layer, handle->format, pdev) < BURSTLEN_BYTES) {
- ALOGV("\tlayer %u: visible area is too narrow", i);
- return false;
- }
if (exynos5_requires_gscaler(layer, handle->format)) {
if (!exynos5_supports_gscaler(layer, handle->format, false)) {
ALOGV("\tlayer %u: gscaler required but not supported", i);
return false;
}
}
+ if (exynos5_visible_width(layer, handle->format, pdev) < BURSTLEN_BYTES) {
+ ALOGV("\tlayer %u: visible area is too narrow", i);
+ return false;
+ }
if (!exynos5_blending_is_supported(layer.blending)) {
ALOGV("\tlayer %u: blending %d not supported", i, layer.blending);
return false;
contents->retireFenceFd = merged;
}
} else {
+ if (layer.acquireFenceFd >= 0) {
+ close(layer.acquireFenceFd);
+ layer.acquireFenceFd = -1;
+ }
hdmi_hide_layer(pdev, pdev->hdmi_layers[1]);
}
}