Files
parallel-dc/core/rend
LibretroAdmin 5d53c7c464 gl: the PowerVR2 filter takes its picture with it when the size changes in place
With the filter on, the game is drawn on the filter's own picture,
and a change of size made where the renderer is took the filter down
and set it up again: the picture thrown away, the shaders compiled
again. The picture was saved round that the long way - what was on
the screen read back to main memory, and put back into the filter's
new picture, where it was filtered a second time.

The filter now has a resize of its own. It keeps its framebuffer,
vertices and shaders, gets a texture and a depth buffer of the new
size, and what the old texture held is scaled into the new one on
the graphics card. Nothing is read back, and what is carried over is
the picture as it was before filtering.

With that the read-back is no longer used for any change of size in
place, and is not called from there.

Checked under RetroArch with temporary switches in the core, not in
this patch, that turn the filter on, start at 2x and change to 1x at
frame 280, while the disc draws only part of the screen: the picture
is right after it in every pass on gl and the per-pixel renderer's
first on glcore; with the scaling across left out, the rest of the
screen is black and the test fails. The headless test passes, and
the ordinary live test in every pass on gl and the per-pixel
renderer's first on glcore; its second was not run to the end.
2026-10-08 09:46:39 +02:00
..
2026-10-07 14:23:01 +02:00