Commit Graph
27 Commits
Author SHA1 Message Date
Henrik Rydgård 893ac3e3db Frametests: add framedump rendering test runner and PNG screenshot support
- Add frametests.py: walks a dump tree, renders each dump per config variant
  through PPSSPPHeadless, generates reference images when missing and compares
  MSE when present, and writes a self-contained HTML report. The JSON config
  (which lives with the test set, not in the repo) points at the data tree
  and defines variants as suffix -> CLI args, e.g. 'soft': '--graphics=software'.
- Headless: --screenshot-save saves PNG when the path ends in .png; new
  --screenshot-diff always writes a visual comparison when comparing;
  screenshot comparison failures (mismatch or unloadable reference) now fail
  the test instead of passing silently.
- Read back framebuffers top-down, flipping only for BMP output/input
  (fixes upside-down PNG references). Sync libretro copy accordingly.
- Document the system in docs/frametest.md; add AGENTS.md reference.
2026-08-09 13:41:39 +02:00
Henrik Rydgård c42a3f070a Implement the new shutdown path for libretro too 2026-08-04 17:45:03 +02:00
Henrik Rydgård 3eb056ad86 Move Common/GraphicsContext.h to Common/GPU/GraphicsContext.h 2026-07-26 13:58:17 +02:00
Henrik Rydgård 7f218acc53 Change the GraphicsContext interface to be more consistent 2026-07-26 10:22:00 +02:00
Henrik Rydgård a317890c08 Remove the GPUDebugInterface class
Just a pointless extra layer in the class hiearchy, making it
unnecessarily hard to modify the interface.

Might as well hit GPUCommon directly.
2026-06-02 11:15:08 +02:00
celerizer 72bd0fa4d3 add null-checks on software render path 2026-04-07 11:05:50 -05:00
刘皓 a018cfc017 Update libretro-common and remove redundant libretro header files 2025-12-30 23:06:58 -05:00
Henrik Rydgård 6cfea96e58 Remove D3D9 support, to make future changes easier 2025-06-10 15:07:16 +02:00
sonninnos 49b9319570 libretro: Revised software rendering option 2024-06-04 14:25:46 +03:00
sonninnos 957c4c7d74 libretro: Add CropTo16x9 core option 2024-06-03 21:48:12 +03:00
sonninnos c8b7ae817d libretro: Add video renderer core option 2024-06-03 21:48:12 +03:00
Henrik Rydgård ff6e118fff Get rid of a lot of ifdefs around presentation mode. Instead, set things dynamically. 2023-08-14 11:02:29 +02:00
Henrik Rydgård dc4de340b3 Some debug overlays don't make sense when not in-game, disable them. Minor feedback fixes. 2023-08-13 21:54:24 +02:00
Henrik Rydgård 1ea11c233c Remove "SwapBuffers" from the GraphicsContext interface.
Buildfixes

More buildfix

headless buildfix

One more buildfix
2023-08-11 01:57:02 +02:00
Stuart Kenny da4652aa2a Do not skip SwapBuffer() when skipDrawReason set.
Fixes nothing being rendered with high frameskip ratios.
2021-09-06 20:00:50 +01:00
Unknown W. Brackets 3c9ab13672 GPU: Remove NULL GPU.
We can use the software GPU without a backend now, and this is in every
way superior and will result in better tests/headless behavior.
2021-01-02 09:36:13 -08:00
Henrik Rydgård 81bddf268a Merge pull request #13598 from tbocek/master
Fix issue in #12145
2020-11-27 23:04:36 +01:00
Henrik Rydgård 0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
tbocek b009ec8f52 No need to call video_cb if there is no image 2020-05-31 11:32:24 +02:00
tbocek 1f49141c30 Setting the width and height to 0 made the frameskip unusable on lakka/libretro with a XU4 with a MALI GPU T628. The result was that bad flickering happened when in frameskip mode. Once it reached 60fps, no flickering, below that flickering. This change fixes the flickering and calls video_cb with the correct height and width. 2020-04-04 11:59:27 +02:00
Unknown W. Brackets 5871ab0538 UI: Stop caching the draw context in coreParam.
This is possibly getting outdated in some paths of graphics reinit, and
then causing crashes.  Let's just always get it from the graphicsContext.
2019-09-28 21:58:15 -07:00
aliaspider 4202ae58bd Libretro: style nits. 2018-03-26 17:37:34 +01:00
aliaspider 5a9ce3bc19 Libretro: set cache_context to true, fixes GL and D3D11 context reset. 2018-03-26 17:21:11 +01:00
aliaspider 808bf8e681 Libretro: add experimental D3D11 support. 2018-03-25 23:07:02 +01:00
aliaspider 4113ba74f2 libretro: msvc build fix. 2018-03-24 22:47:12 +01:00
aliaspider d1711c5aa4 nits. 2018-03-24 13:39:05 +01:00
aliaspider c4f7790618 Libretro port. 2018-03-24 12:44:53 +01:00