Commit Graph
39166 Commits
Author SHA1 Message Date
Unknown W. Brackets 23c79f8e7f irjit: Implement vsge/vslt.
These are not ideal especially for SIMD, but they do work.
Improves performance in Silent Hill on RISC-V by like 20%.
2023-08-13 10:40:47 -07:00
Unknown W. Brackets 5d20f2aabd irjit: Simplify VecDo3. 2023-08-13 10:40:47 -07:00
Unknown W. Brackets 2b36e0a625 irjit: ZeroFpCond -> FpCondFromReg.
We already have a zero reg, so this is more useful and symmetrical.
2023-08-13 10:40:47 -07:00
Unknown W. Brackets 2bb67db43c riscv: Switch to the logBlocks model for disasm. 2023-08-13 10:37:21 -07:00
Unknown W. Brackets 8c036a889d riscv: Add debug log of block disasm. 2023-08-13 10:32:04 -07:00
Unknown W. Brackets e51eca9eee UI: Fix frame profiler. 2023-08-13 10:21:08 -07:00
Unknown W. Brackets 41cddce167 TexCache: Encourage vectorization.
This gets clang to vectorize on RISC-V V, although it looks suboptimal
(probably faster than not using vector, though.)  Also improves other
platforms, but our specializations seem better.
2023-08-13 10:21:04 -07:00
Unknown W. Brackets 7cc6c5fa62 riscv: Fix load error w/o pointerify. 2023-08-13 10:20:28 -07:00
Unknown W. Brackets be938a850b riscv: Remove FMul safety check.
Let's just see if everything's right, this bloats multiplies a lot.
Doesn't seem to impact perf a lot, though.
2023-08-13 10:20:20 -07:00
Unknown W. Brackets fa53b80574 irjit: Cleanup/purge FPU/VFPU temps.
A lot of cases are followed by an FMov that just moved the temp to a
regular register, from VFPU instructions playing safe about overlaps.
2023-08-13 10:14:10 -07:00
Henrik Rydgård e651d6e59f Finish the separation of EndFrame and Present. 2023-08-13 18:40:35 +02:00
Henrik Rydgård 377704f195 OpenGL: Split submit and presentation into two tasks, but schedule them together 2023-08-13 18:40:35 +02:00
Henrik Rydgård 86fcb28d4d Remove "bool retainControl_" for simplicity. Not needed. 2023-08-13 18:40:35 +02:00
Henrik Rydgård f7b8075d05 Merge pull request #17896 from hrydgard/frame-timing-struct
Frame timing struct
2023-08-13 18:20:00 +02:00
Henrik Rydgård a84cb357dc Comment fixes, adjust a couple of sleeps 2023-08-13 17:57:46 +02:00
Henrik Rydgård 7bb1914fd3 Add FrameTiming.cpp/h (with no real contents) 2023-08-13 17:57:43 +02:00
Henrik Rydgård b84091f1d2 Merge pull request #17895 from hrydgard/ini-file-fix
IniFile: Store sections in unique_ptrs, instead of directly.
2023-08-13 14:01:34 +02:00
Henrik Rydgård cf83be8b3c Very small memory leak fix 2023-08-13 13:55:51 +02:00
Henrik Rydgård d82ecf1d3e IniFile: Store sections in unique_ptrs, instead of directly.
This fixes an issue when you create two sections consecutively and
retain pointers to them, and then modify them, such as happens in the
postshader ini initialization. Previously, one of the section pointers
could get invalidated since the section vector got resized. Now, the
pointed-to sections don't move around in memory, only the list of them
does.
2023-08-13 13:41:43 +02:00
Henrik Rydgård 2a74a0b98a Merge pull request #17893 from unknownbrackets/riscv-blocklink
riscv: Enable block linking
2023-08-13 12:40:39 +02:00
Ethan O'Brien 8426b35a80 Cleanup emscripten libretro build target 2023-08-12 14:38:35 -05:00
Unknown W. Brackets 81f67c717c riscv: Fix block link for prev blocks.
Oops, was just reversed so never linking.
2023-08-12 10:48:39 -07:00
Unknown W. Brackets 71fcc4a658 riscv: Fix disassembly of ra-relative jump. 2023-08-12 09:53:38 -07:00
Unknown W. Brackets 8f155dba32 Debugger: Fix random FPU/VFPU selection. 2023-08-12 09:50:46 -07:00
Unknown W. Brackets fcc90095f7 riscv: Enable block linking. 2023-08-12 09:37:02 -07:00
Unknown W. Brackets 247788806a irjit: Add direct helper for start PC.
It's annoying always fetching length too.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets b3cdf06c5a riscv: Write fixup on block invalidation. 2023-08-12 09:37:02 -07:00
Unknown W. Brackets 3757ebca2d irjit: Invalidate/finalize target blocks.
Doesn't actually do anything yet, but adds plumbing.
2023-08-12 09:37:02 -07:00
Unknown W. Brackets fc476020ba riscv: Improve immediate generation.
Use compressed instructions more, better jumps when outside PC 32-bit
range.
2023-08-12 09:37:02 -07:00
Henrik Rydgård 094c432992 Merge pull request #17892 from hrydgard/revert-gl-separate-present
Revert "OpenGL: Separate submit/present for this backend as well"
2023-08-12 17:12:13 +02:00
Henrik Rydgård 0ccd29f2ba Revert "OpenGL: Separate submit/present for this backend as well"
This reverts commit 0143d67f9b.
2023-08-12 13:35:21 +02:00
Henrik Rydgård fabcaf6e04 Merge pull request #17890 from hrydgard/d3d-present-refactor
D3D presentation refactoring
2023-08-11 10:41:55 +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
Henrik Rydgård ed9b033f7d D3D9/11: Move away from using context->SwapBuffers(), instead move present to draw_->Present(). 2023-08-11 01:57:02 +02:00
Henrik Rydgård 1bdbef487b D3D11: Pass the swapchain pointer into the thin3d context 2023-08-11 01:57:02 +02:00
Henrik Rydgård 7c60022979 Fix hang after exiting a game. After running a game, coreState is POWERDOWN which counts as stepping. 2023-08-10 23:52:24 +02:00
Henrik Rydgård 87f7523f99 Merge pull request #17887 from hrydgard/opengl-separate-present
Separate submit/present for OpenGL as well
2023-08-10 18:13:22 +02:00
Henrik Rydgård c1560f93e6 Bump ffmpeg submodule.
See https://github.com/hrydgard/ppsspp-ffmpeg/pull/71
2023-08-10 18:09:01 +02:00
Henrik Rydgård 0143d67f9b OpenGL: Separate submit/present for this backend as well 2023-08-10 17:46:10 +02:00
Henrik Rydgård 7087bd8ae6 Merge pull request #17886 from hrydgard/more-renderloop-refactors
More renderloop refactors
2023-08-10 17:41:28 +02:00
Henrik Rydgård 779a156251 PortManager warning fix. The #pragma pack stuff was redundant anyway 2023-08-10 17:15:57 +02:00
Henrik Rydgård 4b0ac494d0 Even more simplification 2023-08-10 17:15:57 +02:00
Henrik Rydgård 0477ba8c78 Core.cpp: Some slight simplifications 2023-08-10 17:15:56 +02:00
Henrik Rydgård 0deefb82a9 thin3d: Merge BeginFrame and SetDebugFlags (set them every frame anyway) 2023-08-10 17:15:54 +02:00
Henrik Rydgård dec320de2d Reorder some stuff to make more sense. 2023-08-10 16:12:50 +02:00
Henrik Rydgård be708e3e02 Move KeepScreenAwake to platform specific code. 2023-08-10 16:12:12 +02:00
Henrik Rydgård b7b3e81e2f Forgot to remove some EGL files from the vcxproj. 2023-08-10 13:54:07 +02:00
Henrik Rydgård 0fdb0e47a8 Revert "Move Present to the end of NativeFrame()"
This didn't work out too well, will look into it as it's a necessary
step.

This reverts commit 4e77c63b97.
2023-08-10 13:51:35 +02:00
Henrik Rydgård f40a49369c Merge pull request #17883 from hrydgard/remove-unused-egl-stuff
Remove some unused EGL code
2023-08-10 13:10:43 +02:00
Henrik Rydgård c6179c67e4 Remove from cmakelists and android.mk. 2023-08-10 12:02:10 +02:00