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
Henrik Rydgård
26a51191b3
Cleaner solution to previous commit
2023-12-06 09:54:03 +01:00
Henrik Rydgård
8588b11a6a
Rename MayIntersectFramebuffer to MayInteresectFramebufferColor
2023-12-06 09:42:44 +01:00
Henrik Rydgård
88f2657bb1
Allow block transfers from RAM to depth buffers.
...
Reuses the existing compat flag BlockTransferDepth.
I do aim to remove that compat flag in the future, it's probably not
even necessary here, it's just that general depth block transfers were
already gated on it.
Fixes #17878
2023-12-06 00:29:09 +01:00
Henrik Rydgård
e2480b9fa0
D3D9: Apply a half-pixel offset in 2D shader draws. Makes Tantalus games less broken (but still broken)
2023-12-05 14:09:14 +01:00
Henrik Rydgård
64a810f9bf
VertexDecoder: Minor optimization for CPUs not supporting SSE4.
2023-12-05 01:23:09 +01:00
Henrik Rydgård
6b8ec972fb
A couple of warning fixes (real issues though small)
2023-12-05 01:12:42 +01:00
Henrik Rydgård
5373b8c5b3
Fix double-free problem in "low-memory" texture fallback (Vulkan)
2023-12-04 19:47:20 +01:00
Henrik Rydgård
7f67a10543
Texture replacement: Prioritize ini file lines over files in the "root".
...
This reverts back to the old behavior, as mentioned in #18465
2023-12-03 00:18:39 +01:00
Henrik Rydgård
d584162e06
Merge pull request #18462 from hrydgard/framebuffer-listing-overlay
...
Framebuffer listing overlay
2023-12-02 18:51:33 +01:00
Henrik Rydgård
6d977b4a12
Remove unnecessary struct FramebufferInfo
2023-12-02 13:56:18 +01:00
Henrik Rydgård
4ef54169af
Add a compat.ini setting to allow delayed GPU readbacks, for experimentation.
2023-12-02 11:34:59 +01:00
Henrik Rydgård
b636356f36
copy: Reverse the order of the y and seq heuristics
2023-12-01 20:40:12 +01:00
Henrik Rydgård
cef17589d2
Move the oversize copy detection to a better location (less false positive)
2023-12-01 00:30:06 +01:00
Henrik Rydgård
d9365a6df1
FramebufferCopy: New framebuffer candidate sorting, similar to block transfer detection.
...
The previous attempt was simply flawed.
2023-12-01 00:10:16 +01:00
Henrik Rydgård
7920e86098
Add heuristic, fixing video flicker in Naruto UNH 2 caused by copy to wrong target.
2023-11-30 22:19:52 +01:00