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
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ård
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å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
fb8ad0c33a
Very minor cleanup in display list processing
2023-12-04 18:56:06 +01:00
Henrik Rydgård
fd73522efc
Changing UV scale/offset requires us to stop "extending" prims
...
This is because we currently can't change these scales mid-decode, so we
need to break up the collection there. Note that this still won't cause
a full flush, just that the new extra-efficient tristrip merging can't go
through these commands.
2023-12-03 19:21:55 +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