Commit graph

671 commits

Author SHA1 Message Date
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
64e80423a6 Simplify the tilt code, tweak a bit 2023-02-16 11:07:57 +01:00
Henrik Rydgård
5ad111cfc4 Return value fix 2023-02-08 08:59:47 +01:00
Henrik Rydgård
b3e6b81e43 Implement delayed depth readbacks for Vulkan only 2023-02-07 23:13:36 +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
Henrik Rydgård
86a5a82050
Merge pull request #16924 from warmenhoven/dev/warmenhoven/libretro-ios
Build for iOS as a libretro core
2023-02-07 12:11:06 +01:00
ZiHan Huang
2865310bca vulkan: Add the function realization of arm device to kms vulkan
Signed-off-by: ZiHan Huang <zack.huang@rock-chips.com>
2023-02-07 14:23:55 +08:00
Eric Warmenhoven
ec54095b68 Build for iOS as a libretro core 2023-02-07 01:00:47 -05:00
Henrik Rydgård
30fbcf356a
Merge pull request #16914 from hrydgard/readback-more-prep
Some more plumbing of parameters, preparing for readback stuff
2023-02-05 23:25:57 +01:00
Henrik Rydgård
ec5afb2d8d
Merge pull request #16812 from unknownbrackets/task-priority
ThreadManager: Add simple priority queues
2023-02-05 21:00:47 +01: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
31df6bf0fe Move some code around, get rid of some unnecessary fences 2023-02-05 00:35:30 +01:00
Henrik Rydgård
7b5def9ff6 Use VMA to manage readback memory 2023-02-04 23:52:38 +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
Unknown W. Brackets
88ba003f46 ThreadManager: Add a simple priority field.
Currently, not actually respected.
2023-02-02 17:08:24 -08:00
Henrik Rydgård
a67604d003 Tighten up shader compilation logging 2023-02-01 11:42:25 +01:00
Henrik Rydgård
1437c2f707 Comment update 2023-02-01 11:15:33 +01:00
Henrik Rydgård
6a290d7999 Measure pipeline compilation time since scheduling, to judge parallelism 2023-02-01 11:15:33 +01:00
Henrik Rydgård
8821d619e4 Create pipelines in parallel 2023-02-01 11:15:33 +01:00
Henrik Rydgård
1f3969aff3
Merge pull request #16873 from hrydgard/dedicated-thread
Add facility to run tasks on dedicated threads using the ThreadManager interface
2023-01-31 11:50:59 +01:00
Henrik Rydgård
6b0903f566 Add facility to run tasks on dedicated threads using the ThreadManager interface.
Useful for things that should be run ASAP even if the threadpool is full,
at a small extra cost. (Not recommended for very small tasks).

Considering using this to resolve the deadlocks in #16802.
2023-01-31 11:07:40 +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
Henrik Rydgård
91cca1c980 Improve scissor rect clipping. Affected D3D11 validation when maximizing/minimizing. 2023-01-24 16:48:13 +01:00
Unknown W. Brackets
6af6ccc1cf Global: Fix some format warnings. 2023-01-18 21:42:19 -08:00
Henrik Rydgård
784e8ab782 Fix a race condition during Vulkan shader cache load.
Could lead to unnecessary pipelines being created.
2023-01-13 10:35:04 +01:00
Henrik Rydgård
609e7f13c9 Handle a couple of valid but rare return values from vkAcquireNextImageKHR.
See #16601
2023-01-12 08:59:09 +01:00
Henrik Rydgård
1cfc7b11b8 Only force indexed draws on PowerVR / Vulkan. 2023-01-11 22:59:30 +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
Henrik Rydgård
cf52324e9e Vulkan: Fix pipeline cache clearing.
Extracted from #16759 and bugfixed. Fixes a leak of Vulkan pipelines.

I guess another way would be to queue the variants for destruction at
the same time as we queue the callback, but I like this better.
2023-01-09 09:49:55 +01:00
Unknown W. Brackets
a37ed84b31 GLES: Avoid clip distance error in ANGLE. 2023-01-08 22:50:39 -08:00
Henrik Rydgård
44f60ba2f0 Remove overly noisy log 2023-01-05 08:38:53 +01:00
Henrik Rydgård
7e374c9324 Address feedback, more fixes 2023-01-05 08:38:53 +01:00
Unknown W. Brackets
6ac67b0a99 D3D9: Fix backbuffer screenshots. 2023-01-04 22:08:50 -08:00
Henrik Rydgård
5cae5615ea Use more unusual values as "fog-disabled". 2023-01-04 10:14:12 +01:00
Henrik Rydgård
f7df69f50c Change a Crash() to an _assert_msg_ 2023-01-01 17:23:24 +01:00
Henrik Rydgård
1353817afa
Merge pull request #16689 from unknownbrackets/vk-shutdown
Vulkan: Avoid race in compile thread exit
2023-01-01 15:59:55 +01:00
Unknown W. Brackets
6c79d94814 Vulkan: Avoid race in compile thread exit. 2023-01-01 06:40:26 -08:00
Henrik Rydgård
9ceffa284d Vulkan: Add robustness against bad shader module compiles 2022-12-31 12:21:53 +01:00
Henrik Rydgård
d2feb444b7 Bunch of defensive programming around shaders 2022-12-31 12:21:51 +01:00
Henrik Rydgård
d83f84fdfd DrawContext destructor: Need to call DestroyPresets earlier. 2022-12-29 17:32:49 +01:00