Commit Graph
8979 Commits
Author SHA1 Message Date
Henrik RydgårdandGitHub dd1396e2fd Merge pull request #18581 from GermanAizek/lower-scope
Reduced lower scope for local objects
2023-12-20 14:53:36 +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 50bcb2a77a Add "Disable culling" as a speedhack for experimentation
Range culling (which we'll just call culling in the setting
name) still is problematic enough that it can be useful to have this
way to turn it off as an escape route. Since disabling it can break some
games like famously TOCA, it needs to be under speedhacks, though likely
the performance change is minimal.

See for example #17061
2023-12-18 13:13:44 +01:00
Henrik Rydgård 02eb10649d Improve checks 2023-12-18 09:12:44 +01:00
Henrik Rydgård b2729507a1 Assorted debugger-related fixes
Also fixes issue where the rewind machinery would run even during pause.
2023-12-18 00:21:53 +01:00
Henrik RydgårdandGitHub 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årdandGitHub 155222145a Merge pull request #18550 from GermanAizek/fix-memsize-type
[Common Data Net/Core Debugger HLE/GPU Debugger] Fixed reduction data type size to strict 32-bit integer
2023-12-14 17:51:08 +01:00
Herman Semenov 309f0d97f2 [Common Data Net/Core Debugger HLE/GPU Debugger] Fixed reduction data type size to strict 32-bit integer 2023-12-14 19:26:10 +03:00
Henrik RydgårdandGitHub 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årdandGitHub 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årdandGitHub 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 SemenovandHenrik Rydgård 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årdandGitHub b4c61acbf3 Merge pull request #18534 from hrydgard/vulkan-16bit-format
Use the universally supported Vulkan "565" 16-bit texture format
2023-12-12 19:13:34 +01:00
Henrik Rydgård 6d3c34ecd5 Eliminate inf values resulting from depth range computation.
Fixes #17981
2023-12-12 18:48:22 +01:00
Henrik Rydgård f2da5dafd1 Use the universally supported Vulkan "565" 16-bit texture format
Previously mistakenly used the BGR format instead of the RGB.

Probably won't make much of a difference for anything, but may affect #17881
if my theory about it is correct.

Also minor cleanups.
2023-12-12 18:19:29 +01:00
Herman Semenov de80cc3883 Using reserve if possible 2023-12-12 15:13:43 +03:00
Henrik RydgårdandGitHub 1a02995942 Merge pull request #18520 from hrydgard/opengl-render-fix
OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame
2023-12-11 23:44:33 +01:00
Henrik Rydgård 33e48e9675 OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame, fixing black screen 2023-12-11 23:05:37 +01: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
oltolm 6e609342d6 fix ASAN error in Vec2<float>::Length() 2023-12-08 19:50:47 +01:00
Henrik RydgårdandGitHub 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årdandGitHub 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