News: 0001472444

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Blumenkrantz "Massively Improves" Mesa's glReadPixels Performance With 7 Lines Of Code

([Mesa] 2 Hours Ago glReadPixels)


Mike Blumenkrantz of Valve's open-source/Linux graphics driver team has submitted a merge request to "massively" improve the OpenGL glReadPixels performance within the common Mesa state tracker.

Due to performance issues with a Steam Direct3D Windows game that embeds a number of video files and Proton in turn relying on GStreamer to play the video files, Blumenkrantz was exploring the perf profile and the overhead of all the memory copies from the pixel back buffer texture upload to glReadPixels memory copy download path as part of the video transcode pipeline.

Blumenkrantz has made the glReadPixels operation much more efficient by using compute pixel buffer object (PBO) downloads. He is reporting upwards of 100% better performance for glReadPixels in a number of cases.

"this massively improves (>100%) ReadPixels perf in a number of cases"

Most impressive out of this massive performance improvement? It's just seven lines of new code via [1]this merge request .

More details over on [2]Mike's blog . Assuming the merge request lands soon, it will be part of next quarter's Mesa 24.2 feature release.



[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29841/diffs?commit_id=5e5904303565c413d0298b5a8c15ebfd98974fbd

[2] https://www.supergoodcode.com/closing-the-loop/



dimko

Phoronos

NotMine999

V1tol

zexelon

lawsuit, n.:
A machine which you go into as a pig and come out as a sausage.
-- Ambrose Bierce