Commit Graph

31318 Commits

Author SHA1 Message Date
Henrik Rydgård
d4237fd542 Split the atlas into three, well two, but two different cases for the fonts.
Platforms that can use OS fonts don't need font_atlas.zim but they do
need ascii font for debug, so does use asciifont_atlas.zim.
2021-12-10 23:22:08 +01:00
Unknown W. Brackets
204b2a48e4
Merge pull request #15222 from hrydgard/fix-shutdown-assert
Fix shutdown assert / potential crash
2021-12-10 12:44:39 -08:00
Henrik Rydgård
b85a7e9a46 Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit. 2021-12-10 21:01:01 +01:00
Henrik Rydgård
e10b53def3 Fix an ordering issue causing us to hit some asserts 2021-12-10 21:00:45 +01:00
Henrik Rydgård
7b07a1385a
Merge pull request #15220 from unknownbrackets/vulkan-exit
Vulkan: Fix use-after-free on shutdown
2021-12-10 10:37:43 +01:00
Henrik Rydgård
97f3b477ab
Merge pull request #15219 from unknownbrackets/vulkan-2d
Vulkan: Avoid desc set error in tests
2021-12-10 10:37:19 +01:00
Unknown W. Brackets
c2c16032fe Vulkan: Document lifetime for desc set pool. 2021-12-09 23:57:37 -08:00
Unknown W. Brackets
fe7b573a38 Vulkan: Fix use-after-free on shutdown. 2021-12-09 23:52:10 -08:00
Unknown W. Brackets
8d06431ea7 Vulkan: Use new desc sets in Draw and VulkanUtil.
It seems like a bug that destory device objects wasn't clearing descSets.
2021-12-09 19:03:17 -08:00
Unknown W. Brackets
1010d7ac0e Vulkan: Refactor common desc pool handling. 2021-12-09 18:39:55 -08:00
Unknown W. Brackets
75d2188a92 Vulkan: Avoid desc set error in tests.
This requires quite a few DrawActiveTextures, but some pspautotests were
triggering it.
2021-12-09 17:43:00 -08:00
Henrik Rydgård
51dce175a3
Merge pull request #15218 from unknownbrackets/softjit-sampler
samplerjit: Fix DXT1/DXT5 register releasing
2021-12-09 22:13:48 +01:00
Unknown W. Brackets
b3cd135000 samplerjit: Fix DXT1/DXT5 register releasing.
Oops, broke this while refactoring.
2021-12-09 08:17:29 -08:00
Henrik Rydgård
3e5ba249bf
Merge pull request #15217 from hrydgard/scissor-auto-clamp
Vulkan is strict about scissor rect, so let's clamp centrally.
2021-12-08 22:55:12 +01:00
Henrik Rydgård
aa8ef54d4d
Merge pull request #15216 from hrydgard/curframebuffer-sync
FramebufferManagerCommon: Fix some issues where currentRenderVfb_ could get out of sync.
2021-12-08 22:47:16 +01:00
Henrik Rydgård
45308a16c0 Vulkan is strict about scissor rect, so let's clamp centrally.
Better than spreading the logic all over.

Fixes #15207
2021-12-08 22:38:01 +01:00
Henrik Rydgård
44dc3555ad FramebufferManagerCommon: Fix some issues where currentRenderVfb_ could get out of sync.
It would get out of sync with draw_->GetCurrentFramebuffer(), which led
to checks for self-texturing not working, hitting an assert.

This caused problems when turning off "slow effects", and who knows what
else.

Fixes #15208
2021-12-08 22:01:23 +01:00
Henrik Rydgård
dbfa4e6830
Merge pull request #15213 from ANR2ME/adhoc
[Adhoc] Updated PdpCreate, PdpSend, PdpRecv, GetPdpStat, GetPtpStat
2021-12-08 21:38:23 +01:00
Henrik Rydgård
b352f61078
Merge pull request #15215 from ANR2ME/adhocctl
[Adhocctl] Fix Tekken 5 Dark Resurrection Multiplayer
2021-12-08 08:50:13 +01:00
Henrik Rydgård
be79161058
Merge pull request #15214 from unknownbrackets/threads-atomic
ThreadManager: Check for exchange failure
2021-12-08 08:46:23 +01:00
ANR2ME
69ec6b1972 Fix Tekken 5 Dark Resurrection Multiplayer 2021-12-08 12:00:59 +07:00
Unknown W. Brackets
7c7340e338 ThreadManager: Check for exchange failure.
Even if expected stays null, since it's weak assume it can fail.
2021-12-07 18:24:01 -08:00
ANR2ME
26fd74edd4 Updated GetPtpStat 2021-12-08 08:50:14 +07:00
ANR2ME
004ecc008e Updated GetPdpStat 2021-12-08 08:50:11 +07:00
ANR2ME
3b8eb6b04e Added a note regarding FIONREAD behavior on different platforms. 2021-12-08 08:49:35 +07:00
ANR2ME
f1e4b41f12 Discard PDP packets from an IP that can't be resolved to Player's MAC address (simple version) to prevent confusing the game, since the source MAC won't be updated and may contains invalid MAC.
Added TODO to handle unresolvable packets properly.
2021-12-08 08:46:45 +07:00
ANR2ME
6d1a069248 Added another returned error code on PdpCreate 2021-12-08 08:45:46 +07:00
ANR2ME
79d31d4b85 Allow Sending PDP to non-existing MAC address (except invalid mac address). Fixes an issue on NBA Ballers Rebound where players unable to enter Multiplayer Menu again after getting connection issue. 2021-12-08 08:45:45 +07:00
Henrik Rydgård
5907897c36
Merge pull request #15211 from hrydgard/vulkan-fixes
Vulkan: Specify Vulkan version, fix mip level generation calculation
2021-12-07 23:04:34 +01:00
Henrik Rydgård
a2f9f68565 Vulkan: More scissor dimension checks. See #15207 2021-12-07 21:46:10 +01:00
Henrik Rydgård
1f21796ddc
Merge pull request #15174 from iota97/ctr-anim
Make CRT animation speed configurable
2021-12-07 21:38:35 +01:00
Henrik Rydgård
05429fc34f Vulkan: Correct the max level to generate mipmap calculation 2021-12-07 21:28:58 +01:00
Henrik Rydgård
0179cb1811 Very minor logging improvement 2021-12-07 21:28:39 +01:00
Henrik Rydgård
466a731ece Detect and specify the max available Vulkan version, up to 1.2. 2021-12-07 21:26:14 +01:00
Henrik Rydgård
f1a4abfad2
Merge pull request #15210 from jdgleaver/libretro-dup-frames
(libretro) Force enable g_Config.bRenderDuplicateFrames + minor audio buffer tweaks
2021-12-07 19:38:23 +01:00
jdgleaver
cdbebc1898 (libretro) Force enable g_Config.bRenderDuplicateFrames + minor audio buffer tweaks 2021-12-07 16:21:59 +00:00
Henrik Rydgård
d3d87894b0
Merge pull request #15201 from CarterLi/master
Use system headers when building with system miniupnpc
2021-12-07 09:08:42 +01:00
李通洲
17171bc9dc Use system headers when building with system miniupnpc
Fixes https://github.com/hrydgard/ppsspp/pull/15185
2021-12-07 15:36:30 +08:00
Henrik Rydgård
3e5511b609
Merge pull request #15204 from unknownbrackets/softgpu-texfunc
Correct accuracy of texture functions in software rendering
2021-12-06 09:14:16 +01:00
Henrik Rydgård
196e2ca9fb
Merge pull request #15205 from unknownbrackets/android-content-hang
ThreadManager: Use separate pool for IO blocking
2021-12-06 09:12:46 +01:00
Unknown W. Brackets
f9a7ad3e3d ThreadManager: Use separate pool for IO blocking.
This prevents starving the compute pool (which may be used very regularly
parallel loops or other tasks) if the IO operations are slow.
2021-12-05 21:01:49 -08:00
Unknown W. Brackets
8b5173350f ThreadManager: Make TaskType a property of a Task. 2021-12-05 21:01:49 -08:00
Unknown W. Brackets
f9bab64bdf Android: Optimize content URI exists check. 2021-12-05 21:01:49 -08:00
Unknown W. Brackets
3180e6c043 softgpu: Correct alpha on add + invalid texfuncs. 2021-12-05 16:28:37 -08:00
Unknown W. Brackets
325a1f75aa softgpu: Match texenv blend texfunc accurately. 2021-12-05 16:09:26 -08:00
Unknown W. Brackets
0b6e7c421f softgpu: Make decal tex func more accurate.
Tested for all values of A * B + 0 * (255 - B), as well as A * 127 + B *
(255 - 127), and matches accurately.  Spot checked other values, but not
exhaustively.
2021-12-05 13:34:19 -08:00
Unknown W. Brackets
154bb53744 softgpu: Correct accuracy on fast path modulate. 2021-12-05 13:10:18 -08:00
Unknown W. Brackets
73460f7461 softgpu: Correct accuracy of MODULATE texfunc.
This matches hardware tests for every value of A * B.
Interesting that it's a different formula than alpha blend.
2021-12-05 12:06:52 -08:00
Henrik Rydgård
197897979a
Merge pull request #15202 from twinaphex/master
(Libretro) Reimplement audio -
2021-12-05 18:34:31 +01:00
twinaphex
df8dbd8861 (Libretro) Reimplement audio -
* Move audio callback to the main thread (fixes the longstanding hang
  issues when using OpenGL)
* 64ms on desktop isn't enough due to excess buffering going on in this
  emulator. Set default to 128ms instead.
* Different audio approach is necessary due to the following: it sets a
  fixed framerate of 60, then sends either too many or too few audio
samples per frame in order to force the frontend to run at the correct
speed (.e.g. making the frontend run in slow motion for games that run
at 30fps) - this is undesirable for libretro, we want a consistent
amount of audio samples per batch. See further comments in libretro.cpp
for more information
2021-12-05 17:31:36 +01:00