Commit graph

2984 commits

Author SHA1 Message Date
Henrik Rydgård
0f3dca5cea Revert a bad "optimization" I made in #18587 2023-12-25 12:03:09 +01:00
Henrik Rydgård
cf81ae1b4e
Merge pull request #18599 from hrydgard/tactics-ogre-eliminate-readback
Tactics Ogre: Remove a redundant GPU readback operation
2023-12-22 22:51:21 +01:00
Henrik Rydgård
8601c5a3bc
Merge pull request #18596 from hrydgard/more-control-refactor
More control refactor
2023-12-21 13:40:41 +01:00
Henrik Rydgård
437b292b7d Tactics Ogre: Remove a redundant readback operation it performs a lot. 2023-12-21 12:37:34 +01:00
fp64
d35c10beb6 Fix texture upscaler bug
Was not actually affecting anything, since this path is not used.
Still better fix it, for correctness sake.
2023-12-21 11:55:45 -05:00
Henrik Rydgård
ac208505a5 Remove bad debug assert 2023-12-21 11:48:52 +01:00
Henrik Rydgård
a9553f4eef
Merge pull request #18586 from hrydgard/indexgen-opt
DrawEngine: Avoid decoding indices when we don't need them.
2023-12-20 15:28:48 +01:00
Henrik Rydgård
e9736186aa
Merge pull request #18587 from hrydgard/minor-vshader-opt
Minor lighting optimization in vshader
2023-12-20 15:27:01 +01:00
Henrik Rydgård
dd1396e2fd
Merge pull request #18581 from GermanAizek/lower-scope
Reduced lower scope for local objects
2023-12-20 14:53:36 +01:00
Henrik Rydgård
2238fab601 Minor lighting optimization in vshader 2023-12-20 14:47:49 +01:00
Henrik Rydgård
61acce195c Avoid decoding indices when we don't need them. 2023-12-20 14:25:19 +01:00
Herman Semenov
ca94de8d4b [GPU/Common/DX9/GLES/Software] Object out of scope optimization for better codegeneration (lower level scope) 2023-12-20 12:34:34 +03:00
Henrik Rydgård
bca83c0baf Buildfix 2023-12-19 14:44:21 +01:00
Henrik Rydgård
f86189c951 Show vertex decoders separately in profiles 2023-12-19 12:25:54 +01:00
Henrik Rydgård
bbcaeb9d13
Merge pull request #18557 from GermanAizek/reserve-add
Using reserve in different places PPSSPP
2023-12-15 12:28:21 +01:00
Herman Semenov
0748ce610f [GPU/Common/D3D11/Directx9/GLES/Vulkan] Using reserve if possible 2023-12-15 14:08:22 +03:00
Henrik Rydgård
acbc9dc94f DXT5: Fix decoding of alpha channel for textures with a non-mod-4 width. 2023-12-15 10:27:24 +01:00
Henrik Rydgård
748193f227 Fix issue with misdetection of framebuffer copies.
Fixes #18512
2023-12-14 23:16:21 +01:00
Henrik Rydgård
ebaebf5945
Merge pull request #18546 from GermanAizek/make-smart-ptr
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointers using C++17 std::make_*
2023-12-14 14:02:55 +01:00
Henrik Rydgård
b78c7ad470
Merge pull request #18545 from GermanAizek/const-ref-params
Objects in function parameters have been replaced with constant references
2023-12-14 13:49:33 +01:00
Herman Semenov
08070e7f31 [Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointer using C++17 std::make_* 2023-12-14 15:44:16 +03:00
Herman Semenov
3d422b11c0 [GPU Common Vulkan/UI/Windows Debugger] Added const reference for function params 2023-12-14 14:23:31 +03:00
Henrik Rydgård
a8b8e44de1 Increase texture size limit to 1024. It's actually used by FF3. 2023-12-13 22:18:54 +01:00
Henrik Rydgård
0795f6b9e8
Merge pull request #18539 from hrydgard/speedhack-readback-multi-choice
Add multiple choices to the speedhack "Disable GPU readback"
2023-12-13 18:18:44 +01:00
Herman Semenov
315340fc62 Using const reference for C++17 range-based loop and freq used objects 2023-12-13 17:33:01 +01:00
Henrik Rydgård
e62614498e Buildfix mac (name collision with NO...) 2023-12-13 16:48:07 +01:00
Henrik Rydgård
caec201c4d Make "Skip GPU readbacks" a multi-choice option, for easier experimentation by users 2023-12-13 16:18:44 +01:00
Henrik Rydgård
6d3c34ecd5 Eliminate inf values resulting from depth range computation.
Fixes #17981
2023-12-12 18:48:22 +01:00
Herman Semenov
de80cc3883 Using reserve if possible 2023-12-12 15:13:43 +03:00
Henrik Rydgård
3902c85f7f Enable texture replacement filtering overrides even if file is missing 2023-12-11 20:20:35 +01:00
Henrik Rydgård
8d8ff5886b Fix issue where nothing had started a render pass when we wanted to clear the screen. 2023-12-11 13:06:15 +01:00
Henrik Rydgård
71aaad23fb Fix issue with zero-vertex draw calls. Though, should maybe just filter them out earlier. 2023-12-10 12:21:07 +01:00
Henrik Rydgård
aca3bbc9a0 DrawEngine: Remove the confusing MaxIndex accessor, replace with directly reading numDecodedVerts_ 2023-12-10 11:58:47 +01:00
Henrik Rydgård
904ce4f7e1 Quickfix regression in Outrun 2023-12-09 18:32:26 +01:00
Henrik Rydgård
7e85d3d10a Disable the new culling on RISC-V for now. 2023-12-09 16:49:02 +01:00
Henrik Rydgård
4e2a1bf81c NEON: vcvtq can scale directly, no need for a mul by const. 2023-12-09 16:48:59 +01:00
Henrik Rydgård
99548be8a3 NEON culling: Use mla operations to shave off some more cycles. ARM32 compat. 2023-12-09 16:36:01 +01:00
Henrik Rydgård
6a7ef83f4b NEON-optimize the culling 2023-12-09 15:55:51 +01:00
Henrik Rydgård
5b44e25150 SSE-optimize the frustum culling 2023-12-09 15:55:51 +01:00
Henrik Rydgård
62c936babf Flip the cull plane data around to avoid transforming each vertex multiple times. 2023-12-09 15:55:51 +01:00
Henrik Rydgård
a043962447 World space planes 2023-12-09 15:55:51 +01:00
Henrik Rydgård
dbf796bb66 Fastcull: SSE/NEON-optimize 16-bit position conversion 2023-12-09 15:55:51 +01:00
Henrik Rydgård
89d8ef87ec Use a less accurate but faster frustum cull for the general draws. 2023-12-09 15:55:51 +01:00
Henrik Rydgård
0905b6a5ad Frustum-cull small draws
Some games do a poor job of culling stuff, and some transparent
sprites can be very expensive if they cause a copy.
Skipping them if outside the viewport makes sense in that case.

One example are the flame sprites in #17797 .

Additionally, we should be able to cull through-mode draws easily, this
one doesn't even try.
2023-12-09 15:55:51 +01:00
Henrik Rydgård
8dab823936
Merge pull request #18484 from hrydgard/mlb-fix
Fix frozen pitch meters in MLB series games - we were not hashing enough texture data
2023-12-07 12:12:35 +01:00
Henrik Rydgård
877324c978 Add comment about swizzling to the texture replacer hash 2023-12-07 11:01:51 +01:00
Henrik Rydgård
443a882041 Fix the size calculation when hashing small swizzled textures 2023-12-07 10:45:31 +01:00
Henrik Rydgård
36a2174ac0 Vulkan: Add indicator of swizzle mode to texture debug names 2023-12-07 10:35:04 +01:00
Henrik Rydgård
7bf8023dce Don't do the texture size check for the built-in font texture.
Fixes #18483
Fixes #18479
2023-12-07 09:01:24 +01:00
Henrik Rydgård
b90b6268ec
Merge pull request #18478 from hrydgard/block-transfer-to-depth
Handle block transfers from RAM to depth buffers.
2023-12-06 10:12:31 +01:00