Commit Graph

60 Commits

Author SHA1 Message Date
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
Henrik Rydgård 9218fe9b59 Rework the shutdown logic in the OpenGL backend. Eliminated race conditions. 2025-08-31 10:57:06 +02:00
Henrik Rydgård 6cfea96e58 Remove D3D9 support, to make future changes easier 2025-06-10 15:07:16 +02:00
Henrik Rydgård 59a56d66c7 Add a "reason" argument to sleep_ms().
sleep_ms() should generally be avoided when possible. This can be used to try
to track down unnecessary sleeps by adding some logging.

This commit on its own doesn't actually add any logging.
2024-11-21 15:28:51 +01: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
Unknown W. Brackets 76ef95a841 headless: Remove printfEmuLog, simplify output. 2023-03-26 10:17:34 -07:00
Henrik Rydgård 47f063550a Remove InitGraphics/ShutdownGraphics from Host, except for headless 2023-03-21 22:47:20 +01:00
Unknown W. Brackets 9f04d09fb4 Headless: Use a single method for assets paths.
There were multiple ways and this likely makes more sense.
2023-03-12 16:46:51 -07:00
Unknown W. Brackets c127ff47a3 Headless: Load assets from parent dir on Windows.
This is the default debug setting in our MSVC project, so make it easy.
2023-03-12 13:34:41 -07:00
Henrik Rydgård 53172eff63 Renaming and file splitting 2023-03-06 16:42:50 +01:00
Henrik Rydgård 3b39e9e068 Turn the VFS into a class, to be able to reuse it for other purposes. 2023-03-06 16:42:47 +01:00
Unknown W. Brackets 7b175627b3 VFS: Use Path for DirectoryAssetReader. 2021-05-15 11:12:04 -07:00
Unknown W. Brackets 13ec384dbe Build: Explicitly include ppsspp_config.h.
This adds it to all files that use it.  Not all our builds include the
file.
2021-03-02 21:04:03 -08: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 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
Henrik Rydgård 4f43cff5ca Move fileutil, net, image loaders, ui to Common. (#13506)
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing

Let's also move net while we're at it.

Move the ZIM/PNG loaders over to Common.

Move the UI framework into Common

iOS buildfix

* Buildfix

* Buildfixes

* Apple buildfix

* This typo again..

* UWP buildfix

* Fix build of PPSSPPQt, such as it is (it's not in good condition...)

* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård 9e41fafd0d Move math and some file and data conversion files out from native to Common.
Buildfixing

Move some file util files

Buildfix

Move KeyMap.cpp/h to Core where they belong better.

libretro buildfix attempt

Move ini_file

More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård ecceeaa810 We no longer use TCHAR. 2020-09-29 15:51:51 +02:00
Henrik Rydgård ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård b22083e7a6 Even more base/logging.h removal and fixes 2020-08-15 19:09:01 +02:00
Henrik Rydgård c41f875df4 Remove base/logging.h in a whole lot more places. 2020-08-15 19:09:00 +02:00
Henrik Rydgård b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Henrik Rydgård 2f26297062 Clean up some more ifdefs 2019-05-10 23:25:57 +02:00
driver1998 87f43d51ef Fix UnixTests and HeadlessHost on ARM 2019-05-04 23:56:55 +08:00
driver1998 0aa33d53c0 Disable features not available on Windows ARM32/ARM64
ARM32: OpenGL & DirectInput
ARM64: OpenGL
2019-05-04 22:45:16 +08:00
Unknown W. Brackets 78dc07e7a3 Headless: Fix graphics tests for Vulkan/Direct3D.
Otherwise we hang because there's no thread to ever end.
2018-07-29 11:26:04 -07:00
Unknown W. Brackets 2c493f3633 Headless: Add simple GL thread handling.
Because of the way headless works and runs tests, it was a lot simpler to
use a separate thread (unlike elsewhere) for the GL rendering.  Hopefully
this difference doesn't bite us later.
2018-03-25 09:47:56 -07:00
Unknown W. Brackets 7db9dfb50b Headless: Reduce some duplication.
We can share the screenshot code for SDL.
2017-09-20 09:25:28 -07:00
Unknown W. Brackets 19a3e166ec Headless: Fix DirectX11 support on Windows. 2017-04-22 18:17:03 -07:00
Unknown W. Brackets fa0e88f1b7 Add a flag to use the display vfb for screenshots.
This fixes proportions of reporting, savestate screenshots, and TAS
recording for PS1 ports, mainly.
2016-09-25 16:32:18 -07:00
Henrik Rydgard e611915a52 Rename some GPU classes and enums to fix some consistency issues between the backends. 2016-04-10 10:21:48 +02:00
Unknown W. Brackets c770349475 Switch headless to using graphics contexts.
Vulkan doesn't work yet, needs some thin3d for the command buffer?
2016-03-20 19:31:02 +01:00
Unknown W. Brackets d5196b44f9 Minor tweaks. 2016-01-17 09:45:55 -08:00
Henrik Rydgard 3ba911bf07 Replace some calls to fopen with File::OpenCFile (utf8). 2016-01-17 15:59:20 +01:00
Henrik Rydgard 15de6e6b98 GraphicsContext: Abstract away things like swapbuffers etc before adding even more backends.
Needed to prevent clutter all over the codebase.

Does not go all the way yet, goal would be a common render loop between platforms but not there yet.
2016-01-01 14:40:16 +01:00
Unknown W. Brackets 9df0c2758b Check OpenGL extensions in headless.
This makes some tests more correct on hardware that supports more
features.
2015-11-15 00:17:31 -08:00
Henrik Rydgard 44be9f2a50 Move Windows GPU init code into Windows/GPU 2015-11-03 23:22:09 +01:00
Henrik Rydgard 08735b806f Remove silly use of gstate.SetVSyncInterval 2015-09-06 13:36:33 +02:00
Henrik Rydgard 72ae497350 Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP. 2015-09-06 12:42:15 +02:00
Henrik Rydgard cde585a29a Include dependency cleanup 2015-07-29 11:48:20 +02:00
Henrik Rydgard dda3ca3d5f D3D9 init error reporting improved. Use "override" properly in Host. 2014-09-20 21:55:58 +02:00
Unknown W. Brackets bc66a43fb3 Centralize dx9 and gles headless stuff.
Well, could be cleaner, but this way all the comparison stuff works.
2014-08-30 09:55:40 -07:00
Unknown W. Brackets af9e0510c3 Use the debug interface to compare screenshots.
This way it's already implemented in all backends.
2014-08-30 09:45:51 -07:00
Unknown W. Brackets 098e763b82 Enable block transfers in headless for testing.
This allows us to do memory (not just screenshot) tests with GLES, yay.
2014-06-14 08:44:14 -07:00
Unknown W. Brackets 57b636816b Add an internal comparison algorithm to headless.
This is slightly smarter than the test.py version, and should be
completely compatible.  It doesn't handle timeouts though.
2013-09-16 08:30:02 -07:00
Unknown W. Brackets 35cd59ae87 Remove hack to skip messages from native.
Native is not so talkative anymore.
2013-09-16 08:19:53 -07:00
Henrik Rydgard 55aa3d13c7 Win32: Switch to a UNICODE build. This took quite a bit of fixing. 2013-08-26 19:00:16 +02:00
Unknown W. Brackets 7b7801d59a Switch to including Windows.h from an intermediate.
This makes it easier for Xbox which uses a separate header.
2013-07-28 21:04:19 -07:00
Unknown W. Brackets 3decbba334 Correctly output NULs, etc. (i.e. UTF-16.) 2013-07-21 12:56:55 -07:00
Unknown W. Brackets de3f4d03ba Update WindowsHeadlessHost to fix graphic tests.
Although I'm not sure if they actually work...
2013-04-10 22:07:57 -07:00