Henrik Rydgård
14fdbfc0ea
OK now it kinda works in GL but it slows everything down terribly
2023-02-16 23:17:08 +01:00
Henrik Rydgård
b5de9e0cc3
Some preparations
2023-02-16 23:17:08 +01:00
Henrik Rydgård
5ad111cfc4
Return value fix
2023-02-08 08:59:47 +01:00
Henrik Rydgård
742e123b2b
Address feedback
2023-02-07 12:12:00 +01:00
Henrik Rydgård
b4aa120298
OpenGL readback: Move any format convert to when the data is read.
...
Eliminates a copy, and will fit better with delayed readbacks.
2023-02-07 12:12:00 +01:00
Henrik Rydgård
d502198aa3
Move GLFrameData out of GLRenderManager.
...
Small refactor to prepare for adding delayed readback support to the
OpenGL backend.
2023-02-07 12:12:00 +01:00
Eric Warmenhoven
ec54095b68
Build for iOS as a libretro core
2023-02-07 01:00:47 -05:00
Henrik Rydgård
937975000b
Add a ReadbackMode parameter to more functions in the FramebufferManager
2023-02-05 13:57:45 +01:00
Henrik Rydgård
4427cb4fc3
Add parameter to thin3d::CopyFramebufferToMemory to specify blocking mode. Not yet implemented.
2023-02-04 23:40:36 +01:00
Henrik Rydgård
cb16f193ec
Fix the problem. Still need to leave the loop with SDL even if we supply a swap function.
2023-01-30 15:45:05 +01:00
Henrik Rydgård
d43452f0ce
Fix to shutdown sequence
2023-01-30 11:49:31 +01:00
Henrik Rydgård
436a3e0d61
Cleaner exit from emuthread, as used by OpenGL. Don't know how it worked before...
2023-01-30 11:49:31 +01:00
Henrik Rydgård
a0c893cc8f
Fix ThreadFrame. All OK now except shutdown, it seems
2023-01-30 11:49:31 +01:00
Henrik Rydgård
2659fd6f66
Android work. Make the Android OpenGL exit prodecure make more sense
2023-01-30 11:49:31 +01:00
Henrik Rydgård
b62572a78f
Refactor the framedata/GPU thread management.
2023-01-30 11:49:31 +01:00
Henrik Rydgård
f773e66e0f
Minor optimization in GLQueueRunner
2023-01-30 11:24:53 +01:00
Henrik Rydgård
bfab820947
Merge some functions
2023-01-30 11:24:53 +01:00
Unknown W. Brackets
5102ef8a31
GLES: Delete LinkedShaders after the program.
...
The program references the shader, so we have to delete in this order.
Caused problems on useFlag change as well as probably DeviceLost.
2023-01-10 22:13:40 -08:00
Unknown W. Brackets
a37ed84b31
GLES: Avoid clip distance error in ANGLE.
2023-01-08 22:50:39 -08:00
Henrik Rydgård
f7df69f50c
Change a Crash() to an _assert_msg_
2023-01-01 17:23:24 +01:00
Henrik Rydgård
d83f84fdfd
DrawContext destructor: Need to call DestroyPresets earlier.
2022-12-29 17:32:49 +01:00
Henrik Rydgård
10c0b3f2ae
Comment improvements
2022-12-29 00:39:59 +01:00
Henrik Rydgård
463d703feb
More assorted cleanup
2022-12-29 00:39:59 +01:00
Unknown W. Brackets
49f6c461ad
Reporting: Fix some header includes.
...
Particularly in Common, avoid including Core/Reporting.h.
2022-12-27 14:58:20 -08:00
Unknown W. Brackets
f6c26ecac0
Headless: Prevent crash on errors in graphics init.
2022-12-24 17:43:32 +00:00
Henrik Rydgård
e209227be1
Delete dead code path (initialize EGL from C++ on Android)
2022-12-20 23:17:51 +01:00
Henrik Rydgård
6922ee7e52
Add some asserts in the hope of gathering some more info (and consolidating some crashes).
2022-12-18 21:58:20 +01:00
Henrik Rydgård
675c282286
Hides the D3D9 option on Intel Xe graphics.
...
For whatever reason, it really doesn't work for me, while all three other
backends work perfectly. So let's just hide it.
You can still enable it through the ini file for debugging purposes.
2022-12-11 20:55:09 +01:00
Unknown W. Brackets
a7b7bf7826
Global: Set many read-only params as const.
...
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
b7a3cf56cc
OpenGL: Fix lifetime issue with uniform/sampler "locs" for thin3d pipelines
2022-12-09 20:52:19 +01:00
Henrik Rydgård
0ad6218dc4
Fix "usePrevFrame" shaders for OpenGL
2022-12-09 17:28:58 +01:00
Henrik Rydgård
4dfce4f6bc
Basically working MSAA on desktop GPUs! Some glitches remain.
2022-12-01 22:49:00 +01:00
Henrik Rydgård
6daecb4e2b
Add check for tiling GPUs. We'll use this to inform on what MSAA modes to support.
2022-12-01 22:48:59 +01:00
Henrik Rydgård
331d024a8c
Add a flags parameter to InvalidateCachedState and rename it Invalidate.
...
Also rename the old InvalidationFlags enum to InvalidateCallbackFlags.
2022-12-01 19:15:38 +01:00
Henrik Rydgård
390bf3e912
Fix Burnout Dominator lens flare on OpenGL ES
...
Not the prettiest solution, but works: Use R8_UNORM as a fallback
if R16_UNORM is not available.
2022-11-29 13:05:18 +01:00
Henrik Rydgård
973eec5b42
Another tweak to the OpenGL adreno bug detection.
...
See #16015
2022-11-27 20:02:06 +01:00
Henrik Rydgård
d97035fffc
Merge pull request #16434 from unknownbrackets/stencil-opt
...
Vulkan: Use stencil export when available
2022-11-25 10:06:41 +01:00
Unknown W. Brackets
b33662550f
Vulkan: Use stencil export when available.
...
This prevents multiple passes to upload stencil buffers.
2022-11-24 18:48:46 -08:00
Henrik Rydgård
55b1dc6ef4
Warning fixes
2022-11-24 12:14:52 +01:00
Henrik Rydgård
70d1d8fa07
Replace the "GetCurrentStepId"-based state invalidation with callbacks
2022-11-24 10:52:42 +01:00
Henrik Rydgård
39f2ddd128
Add compat flag / bug check for games on old Adreno/GL affected by #16015
...
See #16015
Partly derived from https://github.com/hrydgard/ppsspp/compare/master...unknownbrackets:ppsspp:adreno-deadlock
But this one surgically activates it only for the known affected games, to avoid any additional
performance regressions in the release.
Entirely untested.
2022-11-24 10:05:35 +01:00
Henrik Rydgård
f6fcc9e9a7
Add a way to view the "GPU_USE_" flags at runtime. Useful for sanity checking on-device.
2022-11-23 16:17:41 +01:00
Henrik Rydgård
dd0409d68c
OpenGL ES: Crash as early as possible if things are bad
...
There's a huge variety of crash report in the Play Console of various
opengl failures. Try to concentrate them to early points in
initialization
2022-11-08 10:43:38 +01:00
Henrik Rydgård
b4507cd5cc
Make a lot more code VR build for all platforms
2022-11-06 14:36:51 +01:00
Henrik Rydgård
91259aaad7
Always use array textures for framebuffers in Vulkan for simplicity.
2022-10-27 11:05:58 +02:00
Henrik Rydgård
0de12f5ca9
Some refactoring of framebuffer views, layer issues, more work.
2022-10-27 11:05:58 +02:00
Henrik Rydgård
fb250c4b29
More multiview work
2022-10-27 11:05:58 +02:00
Henrik Rydgård
7a620962aa
thin3d: Replace hint at future MRT support with basic multi layer support
2022-10-27 11:05:58 +02:00
Henrik Rydgård
90d395a10d
Remove "attachment" parameter from BindFramebufferAsTexture everywhere.
...
Not actually useful since our framebuffer objects don't support multiple
color images, and probably won't ever need to.
2022-10-20 10:15:19 +02:00