[v1,0/3] debayer_egl: Sync output buffers after processing stats
mbox series

Message ID 20260521141006.101016-1-robert.mader@collabora.com
Headers show
Series
  • debayer_egl: Sync output buffers after processing stats
Related show

Message

Robert Mader May 21, 2026, 2:10 p.m. UTC
This series was split out of "software_isp: Implement DMABuf import for input buffers"
as the observed performance improvement are significant and suprising enough to
deserve a dedicated series.

Below are some combined benchmark results, broken down in the two relevant commits.
All where done using postmarketOS edge with updates from 21th May 2026 (Mesa 26.1.1).
The mentioned pipelines where run five times each, with the mean value included here,
which should be quite representive as the variance was rather small. All devices
where using the powersave governor.

# Pixel 3a

## Front Camera camera
cam -c /base/soc@0/cci@ac4a000/i2c-bus@0/camera@1a -s width=1920,height=1080 --capture=60
Before: 47986 us/frame
After: 30179 us/frame

## Back camera camera
cam -c /base/soc@0/cci@ac4a000/i2c-bus@1/camera@1a -s width=1920,height=1080 --capture=60
Before: 30294 us/frame
After: 14304 us/frame

# FairPhone 5

## Front Camera Camera
cam -c /base/soc@0/cci@ac4b000/i2c-bus@1/camera@10 -s width=1920,height=1080 --capture=60
Before: 27373 us/frame
After: 23312 us/frame

## Back camera camera
cam -c /base/soc@0/cci@ac4a000/i2c-bus@1/camera@29 -s width=1920,height=1080 --capture=60
Before: 16339 us/frame
After: 14791 us/frame

# OnePlus 6

## Back camera camera (imx376)
cam -c /base/soc@0/cci@ac4a000/i2c-bus@1/camera@10 -s width=1920,height=1080 --capture=60
Before: 26206 us/frame
After: 23625 us/frame

## Back camera (imx519)
cam -c /base/soc@0/cci@ac4a000/i2c-bus@0/camera@10 -s width=1920,height=1080 --capture=60
Before: 43723 us/frame
After: 29471 us/frame

## Front Camera
cam -c /base/soc@0/cci@ac4a000/i2c-bus@0/camera@1a -s width=1920,height=1080 --capture=60
Before: 23597 us/frame
After: 21890 us/frame

# Librem 5

## Front Camera
cam -c /base/soc@0/bus@30800000/i2c@30a40000/camera@20 -s width=1280,height=720 --capture=60
Before: 91200 us/frame
After: 83233 us/frame

## Back camera
cam -c /base/soc@0/bus@30800000/i2c@30a50000/camera@2d -s width=1280,height=720 --capture=60
Before: 76577 us/frame
After: 69569 us/frame

# PinePhone

## Front Camera
cam -c /base/i2c-csi/front-camera@3c -s width=1280,height=720 --capture=60
Before: 188122 us/frame
After: 173764 us/frame

## Back camera
cam -c /base/i2c-csi/rear-camera@4c -s width=1280,height=720 --capture=60
Before: 193712 us/frame
After: 177251 us/frame

Robert Mader (3):
  debayer_egl: Include stats computation into benchmark
  egl: Call glFlush before glFinish
  debayer_egl: Sync output buffers after processing stats

 include/libcamera/internal/egl.h           |  1 +
 src/libcamera/egl.cpp                      | 13 +++++++++++++
 src/libcamera/software_isp/debayer_egl.cpp |  7 ++++---
 3 files changed, 18 insertions(+), 3 deletions(-)

Comments

Robert Mader May 21, 2026, 4:38 p.m. UTC | #1
On 21.05.26 16:10, Robert Mader wrote:
> The mentioned pipelines where run five times each, with the mean value included here,
where -> were ...